版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、最新资料推荐第三章 8086/8088 指令系统和寻址方式习题答案3.1 总结计算机中十进制、二进制、八进制及十六进制数的书写形式。123D、 0AFH 、77Q、 1001110B 分别表示什么计数制的数?答案: 123D、 0AFH 、 77Q、 1001110B 分别表示十进制、十六进制、八进制、二进制。3.2 字长为 8 位、 16 位二进制数的原码、补码表示的最大数和最小数分别是什么?答案: 8 位原码表示的最大数:( 2 -1)、 8位补码表示的最大数:(2 -1)、 8 位原码表77示的最小数: -( 2 -1)、 8 位补码表示的最小数-27。716 位原码表示的最大数:( 2
2、15-1)、 16 位补码表示的最大数:(215-1)、 16位原码表示的最小数: -( 2 -1)、 16 位补码表示的最小数-215。153.3 把下列十进制数分别转换为二进制数和十六进制数。(1)125 (2)255 (3)72 (4)5090答案: (1) 125 二进制数: 0111 1101B ;十六进制数: 7DH 。(2)255二进制数: 1111 1111B ;十六进制数: 0FFH 。(3)72二进制数: 0100 1000B ;十六进制数: 48H。(4)5090 二进制数: 0001 0011 1110 0010B ;十六进制数:13E2H。3.4 把下列无符号二进制数
3、分别转换为十进制数和十六进制数。(1)1111 0000 (2)1000 0000 (3)1111 1111 (4)0101 0101答案: (1)1111 0000 十进制数: 240D ;十六进制数:0F0H。(2)1000 0000十进制数: 128D;十六进制数: 80H。(3)1111 1111十进制数: 255D;十六进制数: 0FFH 。(4)0101 0101十进制数: 85D;十六进制数: 55H。3.5 把下列无符号十六进制数分别转换为十进制数和二进制数。(1)FF (2)ABCD (3)123 (4)FFFF答案: (1)FF十进制数: 255D;二进制数; 1111 1
4、111B 。(2)ABCD 十进制数: 43981D ;二进制数; 1010 1011 1100 1101B 。(3)123 十进制数: 291D;二进制数; 0001 0010 0011B 。(4)FFFF 十进制数: 65535D;二进制数; 1111 1111 1111 1111B 。3.6 分别用 8位二进制数和 16 位二进制数写出下列十进制数的原码和补码。(1)16 (2)-16 (3)+0 (4)-0 (5)127 (6)-128 (7)121 (8)-9答案:(1)16 8 位二进制数原码 :0001 0000 补码 :0001 0000 ;16位二进制数原码 :0000 00
5、000001 0000 补码 : 0000 0000 0001 0000 。(2)-16 8 位二进制数原码 :1001 0000 补码 :1111 0000; 16位二进制数原码 :1000 00000001 0000 补码 :1111 1111 1111 0000 。(3)+0 8 位二进制数原码 :0000 0000 补码 :0000 0000 ;16位二进制数原码 :0000 00000000 0000 补码 :0000 0000 0000 0000 。(4)-0 8 位二进制数原码 :1000 0000 补码 :0000 0000; 16位二进制数原码 :1000 00000000
6、0000 补码 : 0000 0000 0000 0000 。(5)127 8 位二进制数原码:0111 1111 补码 : 0111 1111; 16 位二进制数原码:0000 00000111 1111 补码 : 0000 0000 0111 1111 。(6)-128 8 位二进制数原码:无 补码 : 1000 0000 ;16 位二进制数原码:1000 00001000 0000 补码 :1111 1111 1000 0000 。1最新资料推荐(7)121 8 位二进制数原码:0111 1001 补码 : 0111 1001; 16 位二进制数原码:0000 00000111 1001
7、 补码 : 0000 0000 0111 1001 。(8)-9 8 位二进制数原码 :1000 1001补码 :1111 0111; 16 位二进制数原码 :1000 00001000 1001 补码 :1111 1111 1111 0111 。3.7 试实现下列转换。(1) 原 10111110B,求 补 (2) 补 11110011B,求 - 补(3) 补 10111110B,求 原 (4) 补 10111110B,求 反答案: (1) 1100 0010 (2) 0000 1101 (3) 1100 0010 (4) 1011 11013.8 假设两个二进制数A 01101010, B
8、 10001100,试比较它们的大小。(1)A 、 B 两数均为带符号的补码数(2)A 、 B 两数均为无符号数答案: (1)A 、B 两数均为带符号的补码数:A B(2)A 、 B 两数均为无符号数 :A B3.9 下列各数均为十进制数,请用8 位二进制数补码计算下列各题,用十六进制数表示其运算结果,并判断是否溢出,验证教材中所给的判断依据。(1)90+71 (2)90-71 (3)-90-71 (4)-90+71 (5)-90-(-71)答案: (1)90+71=161 127 溢出90 补 +71 补 =0101 1010+0100 0111=1010 0001=0A1H=-91补(2)
9、90-71=19 127 无溢出90 补 +-71 补 =0101 1010+1011 1001=0001 0011=13H=19 补(3)-90-71=-161 -128 溢出-90 补+-71 补 =1010 0110+1011 1001=0101 1111=5FH=95补(4)-90+71=-19 -128 无溢出-90 补+71 补 =1010 0110+0100 0111=1110 1101=0EDH=-19补(5)-90-(-71)=-19 -128 无溢出-90 补+71 补 =1010 0110+0100 0111=1110 1101=0EDH=-19补3.10 完成下列 8
10、位二进制数的逻辑运算。(1)11001100 10101010 (2)11001100 10101010(3)11001100 10101010 (4)10101100 10101100(5)10101100 10101100 (6)10101100 10101100(7)10101100答案: (1)11001100 10101010=1000 1000 (2)11001100 10101010=1110 1110(3)11001100 10101010=0110 0110 (4)10101100 10101100=1010 1100(5)10101100 10101100=0000 000
11、0 (6)10101100 10101100=1010 1100(7)10101100=0101 00113.11 以下均为 2 位十六进制数,试说明当把它们分别看作无符号数或字符的ASCII码值,它们所表示的十进制数和字符是什么?(1)30H (2)39H (3)42H (4)62H (5)20H (6)7H答案: (1)30H 所表示的十进制数是: 48D;字符是: 0。(2)39H所表示的十进制数是:57D;字符是: 9。(3)42H所表示的十进制数是:66D;字符是: B。(4)62H所表示的十进制数是:98D;字符是: b。(5)20H所表示的十进制数是:32D;字符是: sp 空格
12、。(6)7H所表示的十进制数是:7D;字符是: BEL 报警。3.12 把以下十进制数分别以压缩BCD 码、非压缩 BCD码、 ASCII码串表示。2最新资料推荐(1)2 (2)78答案: (1)2 压缩 BCD码 :0010、非压缩 BCD码:0000 0010 、 ASCII码 :011 0010(2)78 压缩 BCD 码 :0111 1000、非压缩 BCD码 :0000 0111 0000 1000 、ASCII码 :01101110111003.13 设浮点数格式如下图所示:阶码、尾数均以补码表示,基数为2,求: +25.6 和 -361.25 的规格化浮点数。答案: 1) +25
13、.6D=11001.1001100110B=0.110011001100110 25+5=0101B ,补码 :0101,尾数 : 0.110011001100110 补=0.110011001100110规格化浮点数: 0 0000101 0 1100110011001102) -361.25D=-101101001.01B=2 9 (-0.101101001010000)+9=1001 ,补码 :1001,尾数 : -0.101101001010000 补 =1.010010110110000规格化浮点数 :0 0001001 1 0100101101100003.14 设某计算机用 12
14、 位表示一个浮点数,该浮点数从高位到低位依次为:阶符1 位、阶码 3 位 (原码表示 )、数符 1 位、尾数 7 位 (补码表示 ),则 0 100 1 0110011的真值是多少?答案: -9.6253.15 8086 汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?解:寻址方式分为 :立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。其中 ,寄存器操作数寻址方式的指令执行速度最快。3.16 在直接寻址方式中,一般只指出操作数的偏移地址,那么 ,段地址如何确定 ?如果要用某个段寄存器指出段地址,指令中应该如何表示 ?解:默认的数据访问 ,操作数在 DS 段;堆栈操作
15、在 SS 段;串操作源操作数(SI)在 DS段,目的操作数 (DI) 在 ES 段;用BP 作为指针在 SS 段。如果要显式地指定段地址,则在操作数中规定段寄存器。例如:MOV AX , ES: (BX+10H)3.17 8086 系统中,设 DS=1000H , ES=2000H , SS=1200H, BX=0300H , SI=0200H , BP=0100H , VAR 的偏移量为 0600H ,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。(1) MOV BX ,12 ;目标操作数为寄存器寻址(2) MOV BX , 12 ;目标操作数为寄存器
16、间址PA=10300H(3) MOV ES : SI , AX;目标操作数为寄存器间址PA=20200H(4) MOV VAR , 8 ;目标操作数为存储器直接寻址PA=10600H(5) MOV BXSI, AX;目标操作数为基址加变址寻址PA=10500H(6) MOV 6BPSI, AL;目标操作数为相对的基址加变址寻址PA=12306H(7) MOV 1000H, DX;目标操作数为存储器直接寻址PA=11000H(8) MOV 6BX , CX ;目标操作数为寄存器相对寻址PA=10306H(9) MOV VAR+5,AX;目标操作数为存储器直接寻址PA=10605H3.18 下面这
17、些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。( 1) XCHG CS,AX ;错, CS 不能参与交换( 2) MOV BX,1000 ;错,存储器之不能交换( 3) XCHG BX,IP ;错, IP 不能参与交换( 4) PUSH CS ;错, CS 不能为 PUSH 的操作数( 5) POP CS ;错,不能将数据弹到 CS 中( 6) IN BX,DX ;输入 / 输出只能通过 AL/AX( 7) MOV BYTEBX,1000 ; 1000 大于 255,不能装入字节单元3最新资料推荐( 8) MOV CS,1000 ; CS 不能作为目标寄存器( 9) MOV B
18、X,OFFSET VARSI; OFFSET 只能取变量的偏移地址( 10) MOV AX,SIDI;SI、 DI 不能成为基址加变址( 11) MOV COUNTBXSI,ES : AX ; AX 是寄存器,不能加段前缀3.19 试述以下指令的区别: MOV AX,3000H 与 MOV AX,3000H答案:MOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H 。 而 MOV AX,3000H指令源操作数的寻址方式为直接寻址方式,指令执行结果为: DS:3000H)_AX 。 MOV AX,MEM 与 MOV AX,OFFSET MEM答案:M
19、OV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为:DS:MEM)_AX 。 而 MOV AX,OFFSET MEM指令的执行结果是把 MEM的偏移量送 AX 。 MOV AX,MEM与 LEA AX,MEM答案: MOV AX,MEM指令的执行结果是DS:MEM)_AX 。 而 LEA AX , MEM的执行结果是把 MEM的偏移量送 AX 。(4) JMP SHORT L1与 JMP NEAR PTR L1答案: JMP SHORT L1为段内无条件短程转移,跳转的范围不得超过带符号的8 位二进制数表示的字节范围;JMP NEAR PTR L1 为段内无条件近程转移,跳
20、转的范围不得超过带符号的 16 位二进制数表示的字节范围。(5) CMP DX,CX 与 SUB DX ,CX答案: CMP DX,CX是比较,也是利用减法比较,但是dx 中的值不变,标志寄存器改变。 SUB DX ,CX是做减法运算, dx 中为减后的值,标志寄存器改变(6)MOV BPSI,CL与 MOV DS: BPSI,CL答案: BP 默认的段基址是 SS,物理地址 PA=SS+BP+SI ;第二个重定义为DS 段基址,物理地址 PA=DS+BP+SI3.20 设 DS=2100H ,SS=5200H , BX=1400H , BP=6200H ,说明下面两条指令所进行的具体操作:M
21、OV BYTE PTR BP, 20HMOV WORD PTR BX, 20H解 : 前一条指令是把立即数 20H,传送至堆栈段 (BP 的默认段 ) 偏移量由 BP 规定的字节单元,地址为: 52000H+6200H=58200H第二条指令是把立即数 20H,传送至数据段 (BX 的默认段 )偏移量由 BX 规定的字单元 ,地址为 :21000H+1400H = 22400H 。3.21 设当前 SS=2010H ,SP=FE00H , BX=3457H ,计算当前栈顶的地址为多少?当执行 PUSH BX 指令后,栈顶地址和栈顶 2 个字节的内容分别是什么?答案:当前栈顶的地址=2FF00H
22、当执行 PUSH BX指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.22 设 DX=78C5H , CL=5 , CF=1,确定下列各条指令执行后,DX和 CF 中的值。( 1) SHR DX , 1 ;DX=3C62H CF=1( 2) SAR DX , CL ; DX=03C6H CF=0( 3) SHL DX , CL ; DX=18A0H CF=1( 4) ROR DX , CL ;DX=2BC6H CF=04最新资料推荐( 5) RCL DX , CL ; DX=18B7H CF=1( 6) RCR DH , 1 ;DX=BCC5H CF=03.2
23、3 设 AX=0A69H ,VALUE 字变量中存放的内容为1927H ,写出下列各条指令执行后寄存器和 CF、 ZF、 OF 、SF、PF 的值。AX CF ZF OF SF PF(1) XOR AX , VALUE; 134EH 0 0 0 0 1(2) AND AX ,VALUE; 0821H 0 0 0 0 1(3) SUB AX , VALUE; F142H 1 0 0 1 1(4) CMP AX , VALUE; 0A69H 1 0 0 1 1(5) NOT AX ; F596H X X X X X(6) TEST AX , VALUE; 0A69H 0 0 0 0 13.24 设
24、 AX和 BX中是符号数, CX 和 DX是无符号数,请分别为下列各项确定CMP和条件转移指令。CX 值超过 DX 转移。AX未超过 BX转移。DX为 0 转移。CX 值等于小于 DX转移。答案:( 1) CMP CX , DXJA NEXT( 2) CMP AX , BXJLE NEXT( 3) CMP DX , 0JZ NEXT( 4) CMP CX , DXJBE NEXT3.25 阅读分析下列指令序列:ADD AX , BXJNO L1JNC L2SUB AX , BXJNC L3JNO L4JMP L5若AX和 BX的初值分别为以下5 种情况,则执行该指令序列后,程序将分别转向何处(
25、L1 L5 中的一个)。AX=13C6H , BX=80DCHAX=0B568H ,BX=54B7HAX=42C8H , BX=608DHAX=0D023H ,BX=9FD0HAX=9FD0H , BX=0D023H答案: (1)转 L1:不溢出,转移到L1 处;(2) 转 L1:不溢出,转移到 L1 处;(3) 转 L2:溢出,不转移到 L1 处,进位 CF=0,转移到 L2 处;5最新资料推荐(4) 转 L3:溢出,不转移到 L1 处,进位 CF=1,不转移到 L2 处,减法借位 CF=0,转移到L3 处;(5) 转 L5:溢出,不转移到 L1 处,进位 CF=1,不转移到 L2 处,减法
26、借位 CF=1,不转移到 L3 处,不溢出 OF=0 ,转移到 L4 处;3.26用普通运算指令执行 BCD码运算时 ,为什么要进行十进制调整 ?具体地讲 ,在进行BCD码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?解:因为 8086 指令把操作数作为二进制数进行二进制运算,要得到正确的 BCD结果 ,需要进行调整。在加、减、乘法指令之后加上BCD 调整指令 ,而在除法指令之前先用 BCD调整指令再用除法指令。3.27在编写乘除法程序时,为什么常用移位指令来代替乘除法指令?编写一段程序,实现将 BX 中的数除以 10,结果仍然放在 BX中。解:用移位指令时,左移 l 位相当
27、于将操作数乘 2,右移 1位相当于将操作数除2。用移位指令实现一些简单的乘除法程序,比用乘法指令和除法指令进行乘、除运算要快得多。用除法指令实现:MOV CL 0AHMOV AX,BXIDIV CLMOV BX,AX3.28串操作指令使用时特别要注意和SI,DI这两个寄存器及方向标志 DF 密切相关。请具体就指令 MOVSB/MOVSW 、 CMPSB/CMPSW 、SCASB/SCASW 、 LODSB/LODSW、STOSB/STOSW列表说明和 SI、 DI 及 DF的关系。解答:SI DI DFMOVSB/MOVSW指出源地址指出目的地址不带REP 重复前缀时, DF=0 ,每传送一次
28、,SI、DI 加 1 或加 2, DF=1 , SI、 DI则减 1 或减 2CMPSB/CMPSW存放源字符串首地址存放目的字符串首地址DF=0 ,每次比较后,SI、 DI 加 1 或加 2, CX 减1, DF=1 , SI、 DI 减 1 或减 2, CX 减1SCASB/SCASW无 指出字符串首址偏移量无LODSB/LODSW作为地址指针存放处理结果DF=1 时,地址作增量修改,DF=0 时,地址作减6最新资料推荐量修改STOSB/STOSW无 存放目的地址 无3.29 用串操作指令设计实现以下功能的程序段:首先将100H 个数从 2170H 处搬到1000H 处,然后,从中检索相等
29、于VAL中字符的单元,并将此单元值换成空格符。解答:START:MOV AX, DSMOV ES, AXMOV SI, 2170HMOV DI, 1000HMOV CX, 100HCLDREP MOVSBANOTHER:MOV DI, 1000HMOV AL, VALMOV CX, 100HCLDAGE: SCASBJZ FINDEC CXJNZ AGEJMP OVERFIN: MOV BYTE PTRDI-1,20HCMP CX,0JNZ AGEOVER: RET3.30 求双字长数 DX AX的相反数。答 :NEG DX NEG AX SBB DX,03.31 试对数据段偏移地址为101H
30、 单元中的单字节数求补后存入102H ,最高位不变,低 7 位取反存入 103H ,高 4 位置 1,低 4 位不变,存入 104H 。答:MOV AX,0101HMOV BX,AXMOV CX,AXNOT AXMOV 0102H,AXXOR BX,7FHMOV 0103H,BXAND CX,0F0HMOV 0104H3.32 试编写一个程序,比较两个同长字符串STRING1和 STRING2所含字符是否相同,7最新资料推荐若相同 MATCH单元赋值 1,若不相同 MATCH单元赋值 0。答案:程序段为:;数据定义STRING1 DB ABCDEFGHIJK ;串 1,作为源串STRING2
31、DB ABCDFGKJ ;串 2,作为目标串MATCH DB ?;定义 MATCH单元;功能代码MOV AX,SEG STRING1MOV DS,AX ; 源串段地址送DSMOV AX,SEG STRING2MOV ES,AX ; 目标串段地址送ESLEA SI, STRING1 ; 源串偏移地址送SILEA DI, STRING2 ;目标串偏移地址送DIMOV CX, STRING1- STRING2 ;重复次数送 CXCLD ; 地址增REPE CMPSB ; 相等继续比较,不相等退出JZ EQUAL ; 退出时,若 ZF=1 ,表示两串相等MOV MATCH,0 ;不相同, MATCH单
32、元赋值 0JMP OVEREQUAL:MOV MATCH,1 ;相同 MATCH单元赋值 1OVER:HLT3.34 编写代码 ,计算 a+10b+100c+20d, 其中 a、b、 c、 d 均为单字节无符号数,结果为16位,存入 SUM开始的两单元中。data segmentma db 12mb db 21mc db 86md db 150SUM dw 0data endscode segmentassume ds:data,cs:codestart:mov ax,datamov ds,axmov dh,0mov dl,mamov ah,0mov al,10mul mbadd dx,axm
33、ov ah,0mov al,100mul mc8最新资料推荐add dx,axmov ah,0mov al,20mul mdadd dx,axmov SUM,dxcode endsend start3.35 试 _编写一段程序把LIST到 LIST+100中的内容传到 BLK到BLK+100中去。答案:程序段为:MOV AX,SEG LISTMOV DS,AX ; 源串段地址送DSMOV AX,SEG BLKMOV ES,AX ; 目标串段地址送ESLEA SI, LIST ; 源串偏移地址送SILEA DI, BLK ;目标串偏移地址送DIMOV CX, 101 ; 重复次数送 CXCLD
34、; 地址增REP MOVSB3.36 设 CS:0100H 单元有一条两字节的JMP SHORT LAB指令,若其中的位移量为: 56H 80H 78H (4)0E0H试写出转向目标的物理地址是多少?答:因为 CS:0100H 处存放两字节指令JMP SHORT LAB ,所以当执行该指令时(IP)=0102H(1) 转向目标的物理地址是: (CS)*10H+(IP)+0056H=CS:0058H(2) 转向目标的物理地址是: (CS)*10H+(IP)+0FF80H=CS:0082H ; 80H 对应的负数为 -80H(向上转移,负位移量)(3) 转向目标的物理地址是: (CS)*10H+(
35、IP)+0078H=CS:0180H(4) 转向目标的物理地址是: (CS)*10H+(IP)+0FFE0H=CS:00E2H ; E2H 对应的负数为-1EH (向上转移,负位移量)3.37 不使用除法指令,将堆栈段中 10H、 11H 单元中的双字节带符号数除以,结果存入12H 、 13H 单元(注:多字节数存放格式均为低位在前,高位在后)。POP AXPOP BXTEST AX,8000H ; 测试被除数符号位MOV CL,3JZ ZS ; 若为正数,跳转到ZSSAR AX,CLJMP OVERZS: SHR AX,CLOVER:PUSH AX3.38 数据段中 3030H起有两个 16
36、位的带符号数,试求它们的积,存入3034H-3036H 单元中。9最新资料推荐答案:MOV AX,3030HMOV BX,3032HIMUL BXMOV 3034H,AXMOV 3036H3.39 考虑以下调用序列:(1) MAIN调用 NEAR的 SUBA过程(返回的偏移地址为150BH );(2) SUBA调用 NEAR的 SUBB过程(返回的偏移地址为1A70H );(3) SUBB调用 FAR 的 SUBC 过程(返回的偏移地址为1B50H ,段地址为 1000H );( 4)从 SUBC 返回 SUBB ;( 5)从 SUBB 返回 SUBA ;( 6)从 SUBA 返回 MAIN
37、。请画出每次调用或返回时,堆栈内容和堆栈指针变化情况。答 :*(SP) 150BH*150BH(SP)*150BH(SP)*150BH(SP)*(SP) 150BH(SP) *(1) (2) (3)(4) (5) (6) 1A70H 1A70H 1000H 1B50H 1A70H第四章汇编语言程序设计习题答案(部分)4.1 什么是标号?它有哪些属性?答:标号是一种特殊的标识符,它代表代码段中的某个具体位置,它主要用于表明转移的目标位置。源程序中的标号都有三种属性:段、偏移及类型。4.2 什么是变量?它有哪些属性?答:变量名代表存储器中的一个数据区的名字。源程序中的变量有五种属性:段、偏移、类型
38、、长度、规模。4.3 什么是伪指令?什么是宏指令?伪指令在什么时候被执行?宏指令在程序中如何被调用?10最新资料推荐答:伪指令语句是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。伪指令语句是在汇编程序对源程序汇编期间由汇编程序处理的操作。宏是若干语句组成的程序段,宏指令语句用来定义宏。一旦把某程序段定义成宏,则可以用宏名代替那段程序。在汇编时, 要对宏进行宏展开, 展开的过程是将宏名用程序段代替。4.4 汇编语言表达式中有哪些运算符?它们所完成的运算是在什么时候进行的?答:汇编语言表达式中的运算符有:算术运算符+、 * 、 /、 MOD逻辑运算符AND 、 OR、 NOT
39、 、 XOR关系运算符EQ、 NE 、 LT 、 GT、 LT 、 LE 、 GE分析运算符SEG、 OFFSET 、TYPE 、 LENGTH 、SIZE属性运算符PTR、 THIS 、 SHORT其 它 LOW 、HIGH这些运算符都是在在汇编时由汇编程序对其运算的。4.5 画出下列语句中的数据在存储器中的存储情况。ORG 100HVARB DB 34 , 34H, GOOD,2 DUP ( 1, 2 DUP ( 0)VARW DW 5678H, CD,$+2, 2 DUP ( 100)VARC EQU 12VARB DS:0100H 22H DS:010BH 00HDS:0101H 34
40、H VARW DS:010CH 78HDS:0102H 47H DS:010DH 56HDS:0103H 4FH DS:010EH 44HDS:0104H 4FH DS:010FH 43HDS:0105H 44H DS:0110H 12HDS:0106H 01H DS:0111H 01HDS:0107H 00H DS:0112H 64HDS:0108H 00H DS:0113H 00HDS:0109H 01H DS:0114H 64HDS:010AH 00H DS:0115H 00H4 6 按下列要求,写出各数据定义语句。DB1 为 10H 个重复的字节数据序列:1, 2, 5 个 3, 4。
41、DB2 为字符串 STUDENTSDB3 为十六进制数序列:12H, ABCDH用等值语句给符号COUNT赋以 DB1数据区所占字节数,该语句写在最后。解答:DB1 DB 16 DUP ( 1, 2,5 DUP (3), 4)DB2 DB STUDENTSDB3 DW 12H ,0ABCDHCOUNT EQU DB2 DB14.7 指令 OR AX,1234H OR 0FFH中两个 OR 有什么差别?这两个操作数分别在什么时候执行?解答:( 1)指令 OR AX,1234H OR 0FFH中的第一个 OR 是指令系统中的“或”指令,而第二个 OR 是表达式中表示逻辑“或 ”关系的。( 2)指令
42、 OR AX,1234H OR 0FFH中的第一个11最新资料推荐OR 是在 CPU 执行指令操作时才会执行。而第二个OR 是在汇编时就会将1234H 和 0FFH作逻辑 “或 ”运算,得到结果12FFH 。然后执行第一个OR 指令,完成 AX的内容与 12FFH 的逻辑 “或 ”运算。4 8 对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?PREP DB ?TABA DW 5 DUP(?)TABB DB NEXTTABC DD 12345678H( 1) MOV AX , TYPE PREP ; AX=1(2) MOV AX , TYPE TABA; AX=2(3) M
43、OV AX , LENGTH TABA; AX=5(4) MOV AX , SIZE TABA; AX=10(5) MOV AX , LENGTH TABB; AX=1( 6) MOV DX , SIZE TABC ; AX=44.9 设数据段 DSEG 中符号及数据定义如下,试写出数据在内存中的存储示意图。(数据段 DSEG 定义略 )解答:DAB DS:0100H 2FH DS:0113HDS:0101H 47H DS:0114HDS:0102H 4FH DS:0115HDS:0103H 54H DS:0116HDS:0104H 4FH DS:0117HDS:0105H 2FH DS:01
44、18HDS:0106H 0DH DS:0119HDS:0107H 0AH DS:011AHDBB DS:0108H 05H DS:011BHDS:0109H 13H DDW DS:011CH 32HDS:010AH 61H DS:011DH 31HCCB DS:010BH DS:011EH 64HDS:010CH DS:011FH 00HDS:010DH DS:0120H 33HDS:010EH DS:0121H 03HDS:010FH DS:0122H 78HDS:0110H DS:0123H 00HDS:0111H DS:0124H 64HDS:0112H DS:0125H 00H4.10
45、 若自 STRING单元开始存放有一个字符串(以字符 $结束),试完成:(1)编程统计该字符串长度(不包含$ 字符,并假设长度为两字节)。(2)把字符串长度放在STRING单元,把整个字符串往下移两个单元。程序段为:( 1)MOV SI, OFFSET STRINGXOR BX, BX12最新资料推荐CONT:MOV AL, SICMP AL, $JZ NEXTINC BXINC SIJMP CONTNEXT:MOV AH, 4CHINT 21H( 2) STRING DB $ COUNT EQU $-STRINGMOV SI, OFFSET STRINGMOV CX, COUNTADD SI, CXCONT: DEC SIMOV AL, SIMOV SI+2, ALLOOP CONTMOV CX, COUNTMOV STRING, CXMOV AH, 4CHINT 21H4.11 将字符串 STRING中的 &字符用空格代替,字符串STRING“ It is FEB&03。”解答程序为:DATA SEGMENTSTRING DB It is FEB&03COUNT EQU $-STRINGDATA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47994-2026城镇园林绿化术语
- 2026汽车租赁业现状分析及未来规划与投资指导手册
- 2026中国印刷包装材料生产行业市场现状供需分析及投资评估规划分析研究报告
- 2026区块链行业市场深度调研及发展趋势和前景预测研究报告
- 2026软件开发与人工智能产业市场供需评估投资规划发展研究报告
- 2026石油化工产业供应链优化及能源转型与资源节约办法解读
- 2026智能家居中控面板语音交互延迟优化与多协议兼容方案
- 2026汽车服务行业市场供需评估发展现状投资规划前瞻研究
- 2026商业航天技术行业市场全面发展研究报告及产业化方向与投资分析
- 2026全球植物基人造肉口感优化技术专利分析
- 2026年山东省潍坊中小学教师招聘考试真题解析含答案
- 2026秋季福建福维新材料有限公司招聘42人考前冲刺密卷附参考答案详解【轻巧夺冠】
- 2027年高考数学模拟试卷1(新高考Ⅰ)
- 八上数学必背公式
- proe如何画蜗轮蜗杆+prt+视屏
- 2026新疆维吾尔自治区中考全科热点预测:基于近3年真题的命题趋势分析与夺分策略
- 2025年公共卫生监督执法技能竞赛(学校与生活饮用水卫生监督)备考题库含答案大庆
- 2026年高考真题-语文(全国二卷) 含解析
- 2026年江苏省初级注册安全工程师考试真题及答案
- 临床腹腔内压力经膀胱间接测量技术解读及实践经验共享
- GB/T 47319-2026公众气象灾害防御行为指南雷电
评论
0/150
提交评论