预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

分别写出实现如下功能的程序段1.将AX中间八位,BX低四位,DX高四位拼成一个新字,结果存放在AX中。ANDAX,0FF0HAND运算,想保留哪几位,就把哪几位和1相与,剩下的和0相ANDBX,000FH与ANDDX,0F0000H16进制最高位是字母就在前面加0ADD(OR)AX,BXOR运算,与数电中的或运算一样,根据需要使用ADD(OR)AX,DX2.将CX中间八位取反,其余位不变。XORCX,0FF0H异或运算,相同为0,不同为1。3.对数据段中以BX为偏移地址的连续三个单元(字节)中的无符号数求和。结果存放在后续两个单元中。MOVAH,0将AL(8位)扩展成AX(16位)MOVAL,[BX]地址为BX的数据给ALADDAL,[BX+1]AL中的数据加上BX+1中的数据ADCAH,0AH+0+CF,有进位CF=1,无进位CF=0ADDAL,[BX+2]AL中的数据加上BX+2中的数据ADCAH,0AH+0+CF,有进位CF=1,无进位CF=04.对数据段中以BX为偏移地址的连续四个单元(字节)的内容颠倒过来。MOVAL,[BX]地址为BX的存储单元数据给ALXCHGAL,[BX+3]数据交换,此时BX+3的数据是BX的MOV[BX],AL将AL即BX+3的数据给BXMOVAH,[BX+1]地址为BX+1的存储单元数据给AHXCHGAH,[BX+2]数据交换,此时BX+2的数据是BX+1的MOV[BX+1],AH将AH即BX+2的数据给BX+15.将BX中的四位压缩BCD数用非压缩BCD数形式按序放在AL,BL,CL和DL中。PUSHBX保存BX的值,如BX=1728HANDBX,0F0FH取BH和BL的低四位,此时BX=0708HMOVDL,BLDL=BL=08HMOVBL,BHBL=BH=07HPOPAX取出BX的初始值AX=1728HMOVCL,4左(右)移超过1位,必须用CL来表示移动位数,不能直接用立即数RORAX,CL循环右移4位,此时AX=7281HANDAX,0F0FH取AH和AL的低四位,此时AX=0201H,AL=01HMOVCL,AHCL=AH=02H6.不用乘法指令实现AL(无符号数)乘以20。MOVAH,00H将AL(8位)扩展成AX(16位)MOVCL,2左(右)移超过1位,必须用CL来表示移动位数,不能直接用立即数SALAX,CL左移2位MOVBX,AX将此时的AX保存SALAX,CL将左移2位后的AX再左移2位ADDAX,BX左移2位的AX加上左移4位的AX7.把从10000H开始的连续100个存储单元的内容(字节)复制到20000H开始的存储单元中去。CLD将DF置0,表示串操作由低地址向高地址进行,此时SI和DI递增。MOVCX,100将字符串的长度置入CX中MOVAX,1000H立即数不能直接传送给段寄存器MOVDS,AX给字符串的源段地址一个首地址MOVSI,0给以DS为段地址的字符串一个偏移地址MOVBX,2000H立即数不能直接传送给段寄存器MOVES,BX给字符串的目标段地址一个首地址MOVDI,0给以ES为段地址的字符串一个偏移地址REPMOVESB把题目中的100个字节从源串传送到目标串8.用16进制数填写下表,已知DS=1000H,ES=2000H,SS=0FCH,其余通用寄存器值为0指令存储器操作数的逻辑地址SUB[BP],AL0FC0H:0000HMOV[BX],BH1000H:0000HMOV[DI],DL1000H:0000HMOVES:[SI],BL2000H:0000HADD[BP+500H],AH0FC0H:0500HSUB[SI-300H],AL1000H:0FD00HMOV[DI+1000H],DL1000H:1000HMOV[BX-8],CL1000H:0FFF8HMOVES:[DI+1000H],CH2000H:1000HMOV[BP+SI],DH0FC0H:0000HMOV[BX+DI],DL1000H:0000H