扬州大学汇编语言课后习题
- 格式:doc
- 大小:58.50 KB
- 文档页数:9
.第1章基础知识检测点1.1(第9页)(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。
(2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。
(3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。
(4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。
(5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。
则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。
(7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。
(8)在存储器中,数据和程序以二进制形式存放。
..解题过程:(1)1KB=1024B,8KB=1024B*8=2^N,N=13。
(2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。
(3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。
(4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。
(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。
这样的CPU最多可以寻找2的N次方个内存单元。
(一个内存单元=1Byte)。
(6)8根数据总线一次可以传送8位二进制数据(即一个字节)。
(7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。
(8)在存储器中指令和数据没有任何区别,都是二进制信息。
汇编语⾔习题答案第⼀章.习题1.1⽤降幂法和除法将下列⼗进制数转换为⼆进制数和⼗六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列⼆进制数转换为⼗六进制数和⼗进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列⼗六进制数转换为⼆进制数和⼗进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列⼗六进制数的运算,并转换为⼗进制数进⾏校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为⼗进制数,请⽤8位⼆进制补码计算下列各题,并⽤⼗六进制数表⽰其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6)-85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6下列各数为⼗六进制表⽰的8位⼆进制数,请说明当它们分别被看作是⽤补码表⽰的带符号数或⽆符号数时,它们所表⽰的⼗进制数是什么?(1) D8 (2) FF答:(1) D8H表⽰的带符号数为-40,D8H表⽰的⽆符号数为216;(2) FFH表⽰的带符号数为-1,FFH表⽰的⽆符号数为255。
汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
新版汇编语言程序设计【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU 可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
练习一1.在计算机内部,计算机能够直接执行的程序语言是。
A. 汇编语言B o C++语言C.机器语言D。
高级语言2. 在堆栈段中,存放栈顶地址的寄存器是oA. IPB. SPC. BXD. BP3. 指令指针寄存器IP用来存放代码段中的偏移地址。
在程序运行的过程中,它始终指向。
A. 下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4. 编译程序的功能是oA.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5. 用户为了解决自己的问题,用汇编语言所编写的程序,称为oA.目标程序B.源程序C.可执行程序D.汇编程序6. 计算机中用来存储程序、数据等信息的记忆装置是oA.控制器B.运算器C.CPUD.存储器7. 在宏汇编中,源程序必须通过____________ 生成目标代码,然后用连接程序将其转化为可执行文件,该文件可在系统中运行。
8 当SS =3000H,SP =0100H 时,执行PUSH AX 指令后,堆栈顶部的物理地址是( )A. 30100HB. 30098HC. 30102HD. 300FEH9 设10000010B 分别以原码、补码及反码表示时,则对应的十进制数依次是( )A. -82 、-126、-2B. -2 、-125 、126C. -2 、-126 、-125D. -82 、-125 、12510若寄存器AX、BX、CX DX的内容分别为18, 19, 20, 21时,依次执行PUSH AX PUSH BXPOP CX POP DX后,寄存器CX的内容为 ____________________ o11若物理地址为2D8C0H偏移量为B6A0H则段地址为 ______________ o练习二1. 8086 在基址变址的寻址方式中,基址、变址寄存器分别是( )oA. AX或CX BX或CX B . BX或BP、SI 或DIC. SI 或BX、DX或DI D . CX或DI、CX或SI2. 设(SS)=338AH , (SP)=0450H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是()A. 33CECHB. 33CF2HC. 33CF4HD. 33CE8H3. 设(AX)=0C544H,在执行指令ADD AH, AL后,相应的状态为( )。
2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4C B765H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH;偏移地址=bx=0100h(4)AX=3412H;偏移地址=bx=0100h(5)AX=4C2AH;偏移地址=bx+1100h=1200h(6)AX=7856H;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov[sp],ax(7)mov ax,bx+di(8)mov20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[SI](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057hpush axmov ax,0f79hpush axpop bxpop[bx]〔解答〕mov ax,8057hpush axmov ax,0f79hpush axpop bx;bx=0f79hpop[bx];DS:[0f79h]=8057h〔习题2.6〕给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:mov al,89hadd al,aladd al,9dhcmp al,0bchsub al,aldec alinc al〔解答〕mov al,89h;AL=89h CF ZF SF OF PFadd al,al;AL=12h10011;10001001+10001001100010010add al,9dh;AL=0afh00101;00010010+1001110110101111cmp al,0bch;AL=0afh10101;10101111-10111100*01000011sub al,al;AL=00h01001dec al;AL=0ffh00101 ;00000000-00000001*11111111inc al;AL=00h01001 ;11111111+00000001*11111111必考:〔习题2.10〕指出下列指令的错误:(1)xchg[si],30h (2)pop cs(3)sub[si],[di](4)push ah(5)adc ax,ds(6)add[si],80h(7)in al,3fch(8)out dx,ah〔解答〕(1)xchg的操作数不能是立即数(2)不应对CS直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in不支持超过FFH的直接寻址(8)out只能以AL/AX为源操作数〔习题2.11〕给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。
第四章汇编语言程序设计习题答案一、单项选择题1.C2.B3.C4.C5.C6.A7.A8.C9.B10. D11.B12.B13.D14.C15.C16.A17.D18.D19.A20. C21.B22.D23.D24. A二、多项选择题1.ABCEF2.ACE3.AC4.ABCD三、填空题1.PARA2.1,2,60,120, 13.SEGMENT,ENDS4.12005.段内转移,段间转移6.AH7.过程,PROC,RET,NEAR,FAR8.LEA BX,BUF9.1, 410..0504H11.ASM,EXE12.立即寻址,直接寻址四、判断题××××V V V××V五、程序分析题1. 32.12H,3412H3.46H,73H4.(1) 从目的串中查找是否包含字符‘0’,若找到则停止,否则继续重复搜索。
(2) ZF=1, 说明已找到字符ZF=0, 说明未找到字符CX 0,说明中途已找到字符退出CX=0,且ZF=0说明串中无字符‘0’5.1, 0, 3, 2, 5, 4, 7, 6, 9, 86.87H,81H7.44AAH,44D5H8.DEC CX,JNC,JZ9.JNZ L210.ADC DX,0,CLC11.AAS12.STOSB13.1,3,1,2, 214.(2000H)=39H (2001H)=00H将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,并存入(2000H)单元,0 (2001H)15.A)2345H,6780HB)将DX、AX中存放的32位二进制数向左移动4位16.0 ,1009H0对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个17.20H,10,T18.①$-BUF②ASSUME CS:CODE,DS:DATA③MOV DS,AXMOV AX,0⑤JLE NEXT⑥JNZ NEXT⑦JNZ LOPA⑧BEGIN19.不相同,第一个数据段72H在前,04在后,后一个04H在前,72H在后。
汇编语言各章习题答案习题一答案:1.1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH1.2 5E8AH,0BE6H,3DEH,4940H1.3 00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1171.4 00101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2071.5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H1.6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 1.7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码1.8(1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H(4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD码0000001001010100,ASCII码323534H1.9(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=11.10回车、换行、响铃、ESC键、空格键、@、P、p习题二答案:2.9最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)2.10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP2.11字节单元保存8位数,字单元保存16位数。
汇编语言程序设计课后答案第二章(更新完毕~)1。
在80X86微机的输入输出指令中,I/O端口号通常是由DX寄存器提供的,但是有时也可以在指令中直接指定00---FFH的端口号。
试问,可直接由指令指定的I/0端口数~解答:有256个~~ 书上有原话~~可以找到~~2。
有两个16位字节1EE5H和2A3CH分别存放在80X86微机的存储器的000B0H 和000B3H单元中,请用图表示出它们在存储器里的存放情况。
解答:如下图.第一个络子为000B0H字单元,注意,是字单元~~第五个格子为000B3H字单元~,学计算机的,竟然连个表格也做不好!3. 图在书上,我就不画了,太麻烦~~直接答吧~解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH4.对了,看这个的人.,肯定都有那本书,所以,以后我就不抄题目哈~~~解答: 这三个物理地址都是3017AH,正好说明了不同的段地址和偏移地址对应同一物理地址~~5.解答: CS+IP 第一个字的物理地址为: 0AAA40H6.解答: 图,实在不知道怎么画,待我想办法~~ 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07。
下列操作可使用那些寄存器?(1)加法和减法AX ,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL ,.等~~(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS ,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7) 将要从堆栈取出数据的地址BP,SP,SS8。
可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9。
一一对应;5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O第三章1。
练习一1.在计算机内部,计算机能够直接执行的程序语言是。
A.汇编语言 B。
C++语言C.机器语言 D。
高级语言2.在堆栈段中,存放栈顶地址的寄存器是。
A.IP B.SP C. BX D. BP3.指令指针寄存器IP用来存放代码段中的偏移地址。
在程序运行的过程中,它始终指向。
A.下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4.编译程序的功能是。
A.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。
A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是。
A.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过___________生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。
8 当 SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址是()A.30100H B.30098H C.30102H D.300FEH9 设B分别以原码、补码及反码表示时,则对应的十进制数依次是()A.-82、-126、-2 B.-2、-125、126C.-2、-126、-125 D.-82、-125、12510 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为__________________。
11 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为 _________。
练习二1. 8086在基址变址的寻址方式中,基址、变址寄存器分别是()。
A.AX或CX、BX或CX B.BX或BP、SI或DIC.SI或BX、DX或DI D.CX或DI、CX或SI2. 设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是()。
A.33CECH B.33CF2HC.33CF4H D.33CE8H3.设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为()。
A.CF=0、OF=0 B.CF=0、OF=1C.CF=1、OF=0 D.CF=1、OF=14.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。
(1) MOV AX,DS:[0100H](2) MOV BX,0100H(3) MOV AX,ES:[SI](4) MOV CL,[BP](5) MOV AX,[BX][SI](6) MOV CX,BX(7) MOV AL,3[BX][SI](8) MOV AL,[BX+20]B A C(1)直接寻址 PA=20100H(2)立即寻址(3)寄存器间接寻址 PA=200B0H(错误)(4)寄存器间接寻址 PA=20020H(错误)(5)基址变址寻址 PA=210B0H(6)寄存器寻址(7)基址变址寻址 PA=210B3H(8)变址寻址 PA=21014H练习三1 设(SP)=000CH,(SS)=00A8H,在执行POP AX指令后得到的栈顶的物理地址为()A. 000B6H B.00A8EH C.000B2H D.00A8AH2. 语句”BUF DB 25”的含义是()A.用BUF 表示25B.定义BUF为字节变量,初始值为25C.从标号BUF对应的地址起分配25个单元D.定义BUF为变量,其地址为253.假设VAR为变量,则指令MOV SI,OFFSET VAR的源操作数的寻址方式是()A.间接寻址B.存储器寻址C.寄存器寻址D.立即寻址4.数据定义BUF DB ‘1234’,执行指令MOV CL, LENGTH BUF后,CL寄存器的内容是()A. 1 B.2 C.3 D.5.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是()A.2108:00EA B.2025:0F2A C.2100:117A D.2000:017A设数据段定义如下:(6~8题均采用该数据段)ORG 3050HCOUNT EQU 4DBUF DB ‘MOUSE.MOU!’DBUF1 DW 3040HDB ‘TERMINER’DB 5066. DBUF+16单元中的内容是()A.’E’ B.’T’ C.’M’ D.’I’7. DBUF1表示的地址是()A.305AH B.305CH C.305BH D.3059H8. 上面伪指令使用出错的是()A.DB ‘MOUSE.MOU!’B.DW 3040HC.DB ‘TERMINER’D.DB 5069 执行下面的程序段后, BX =()NUM = 100MOV BX, NUM NE 50A. 50 B.0 C.0FFFFH D.1使用8086/8088汇编语言的伪操作命令定义:10 VAR DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0))则在VAL存储区前十个字节单元的数据是 ( )A.1,2,3,3,2,1,0,1,2,3B.1,2,3,3,3,3,2,1,0,1C.2,1,2,3,3,2,1,0,2,1D.1,2,3,3,3,1,0,1,0,11. B2. B3. D4. A5. C(错误)6. C(错误)7. C(错误)8. D9. C10. D练习四1、设计指令序列,完成下列功能:(1)写出将AL的最高位置1,最低位取反,其它位保持不变的指令段。
(2)写出将AL中的高四位和低四位数据互换的指令段。
2、若AX=-15要得到AX=15应执行的指令是()A. NEG AXB. NOT AXC. INC AXD. DEC AX3、以下三指令执行后,DX =()MOV DX,0MOV AX,0FFABHCWDA.0FFABH B.0 C.0FFFFH D.无法确定4、将累加器AX 内容清零的错误指令是()A.AND AX,0 B.XOR AX,AXC.SUB AX,AX D.CMP AX,AX5、INC指令不影响()标志A.OF B.CF C.ZF D.SF6、设AL中的值为84H,CF=1,现在执行RCR AL,1 指令,AL中的值和CF分别为()A.0C2H,1 B.42H,1 C.0C2H,0 D.42H,07、MOV AL,BLNOT ALXOR AL,BLOR BL,AL程序段执行后,AL= _______、BL= _______。
8、执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是,寄存器AL的值是寄存器DX的值是。
设数据段定义如下:(9~11题均采用该数据段)DATA SEGMENTNA EQU 15NB EQU 10NC DB 2 DUP (4,2 DUP (5,2))CNT DB $-NCCWT DW $-CNTND DW NCDATA ENDS9. 从DS:0000开始至CNT单元之前存放的数据依次是()A.15,10,4,5,2,5,2,4,5,2,5,2 B.15,10,4,2,5,2,4,2,5,2C.0FH,0AH,4,5,2,5,2 D.4,5,2,5,2,4,5,2,5,210. ND单元中的值是()A.0000HB.0200HC.0003HD.0002H11. CWT单元中的值是()A.2B.1C.11D.12设数据段定义如下:(12~14题均采用该数据段)DATA SEGMENTORG 0100HX1 DB 25,’25’X2 DW ?Y1 EQU X1Y2 EQU $-Y1DATA ENDS12. MOV BX,OFFSET X1 指令执行后,BX中的内容是()A.25 B.0100HC.0000HD.’25’13. 汇编后Y2的值是()A.4B.5C.3D.614. MOV AL,Y1+1 指令执行后,AL中的内容是()A.19HB.01HC.35HD.32H1.(1) OR AL 80HXOR AL 0FH(错误)(2) MOV CL 4(错误)ROL AL CL(错误)2.A3.C4.D5.B6.D(错误)7.AL=0FFH BL=0FFH8.AH=8DH AL=00H DX=0000H9.D10.A11.B12.B13.A(错误)14.B(错误)练习五1 试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?VAR1 DB 86HVAR2 DW 2005H,0021H,849AH,4000HMOV AL,VAR1CBWLEA BX,VAR2MOV DX,2[BX]SUB AX,DX.2 试分析下列程序段:ADD AX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP SHORT L5如果AX 和BX的内容如下:AX BX(1)14C6H 80DCH(2)B568H 54B7H(3)42C8H 608DH(4)D023H 9FD0H(5)9FD0H D023H试问该程序分别在上面几种情况下执行后,程序转向哪里?3试分析下列程序段,回答所提问题。
ORG 3000HDB 11H,12H,13H,14H,15HMOV BX,3000HSTCADC BX,1SAL BL,1INC BYTE PTR [BX]A. 程序段执行完,3004H 单元中的内容是什么?程序段执行后BX中的内容是什么?CF的值是1还是0?1.AX的内容是FF65HDX的内容是0021H2.(1)L1(2)L1(3)L2(4)L3(错误)(5)L4(错误)3.3004H的内容是16H BX=3004H CF=0练习六1.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?栈顶的物理地址是多少?C>DEBUG-RAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PLNZ NA PO NC2. 有指令 JMP DX ,在执行前,DX=1234H ,IP =5678H,执行该指令后,寄存器变化正确的是________。
A) DX=1234H ,IP =5678H B) DX=1234H ,IP =1234HC) DX=5678H ,IP =5678H D) DX=5678H ,IP =1234H3. 若要检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。