汇编语言的综合练习3

合集下载

汇编语言第3-4章平时练习题

汇编语言第3-4章平时练习题

3.知识点:0403(汇编语言程序格式) *汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B)。

选项A)MAP选项B)OBJ选项C)ASM选项D)EXE4.知识点:0403(汇编语言程序格式) *汇编语言的什么文件经链接(LINK)后产生可执行文件?(D)选项A)EXE选项B)OBJ选项C)MAP选项D)LST7. 知识点:0401(汇编程序功能) *汇编语言源程序是(A)程序。

选项A)不可直接执行的选项B)经连接后就可直接执行的选项C)经汇编程序汇编后就可执行的选项D)可直接执行的14知识点:0302(程序占有的空间和执行时间) **如果指令的运算结果为0,则(C)标志位为1。

选项A)SF选项B)CF选项C)ZF选项D)OF15知识点:0302(程序占有的空间和执行时间) **如果指令的运算结果中有奇数个1,则(C)标志位为0。

选项A)OF选项B)CF选项C)PF选项D)SF16. 知识点:0301(80x86的寻址方式) *IBM PC机的内存是按(D)是编址的。

选项A)位选项B)双字选项C)字选项D)字节23知识点:0301(80x86的寻址方式80x86的寻址方式) **如果内存的某一单元的物理地址为12345H。

则它的逻辑地址为(C):0345H。

选项A)0120H选项B)12000H选项C)1200H选项D)0012H24知识点:0301(80x86的寻址方式80x86的寻址方式) ***如果一个字变量中存放16个字,该字变量的起始地址为1000H:2000H,则该字变量数据区中的最末一个字单元的物理地址为( D)。

选项A)12020H选项B)12000H选项C)1201FH选项D)1201EH25知识点:0301(80x86的寻址方式80x86的寻址方式) **设22000H、22001H单元分别存放的数据为12H、34H,若要读取22000H字单元中的数据,此时读出的数据是(A)。

计算机组成原理与汇编语言综合练习题

计算机组成原理与汇编语言综合练习题

计算机组成原理与汇编语言综合练习题一、填空题1.表示一个数值数据的基本要素是、、。

2.8位二进制补码所能表示的十进制整数范围是至,前者的二进制补码表示为,后者的二进制补码表示为。

3.某机定点整数格式字长8位(包括1位符号位),用二进制表示最小负数的反码为,最大正数的反码为。

4.在数的表示范围方面,浮点比定点。

在运算规则方面,浮点比定点。

在运算精度方面,浮点比定点。

5.浮点数表示中,数据的范围由的位数据决定,数的精度由决定。

6.已知0和9的ASCII码分别为0110000和0111001,则3的ASCII码为,5的ASCII码为。

7.已知字符A的ASCII码为1000001,则字符B的ASCII码为,字符D的ASCII码为。

8.15的8421码为。

9.每条指令由两部分组成,即部分和部分。

10.有一机器字16位,其中操作码占4位。

若采用三地址寻址,则每个地址位为位,可直接寻址空间为字节;若采用单地址寻址,则每个地址位为位,可直接寻址空间为字节。

11.零地址指令是不带的机器指令,其操作数是由提供的。

12.存储器堆栈中,需要一个,用它来指明的变化。

13.运算器的主要功能是进行。

14.SN74181 ALU是一个位运算单元,由它组成16位ALU需使用片SNN74182 ,其目的是为了实现并行操作。

15.在微程序控制器中,微操作是由控制实现的最基本操作。

一条机器指令是由若干组成的微程序来解释执行的。

16.微程序顺序控制常用的两种方式是方式和方式。

17.控制器的控制方式有、和三种形式,其中方式最节省时间,方式最浪费时间,而方式介于两者之间。

18.在控制器中,指令寄存器(IR)的作用是,它的位数与有关。

19.使用Intel 2114(1K×4位)芯片32片可组成容量为 KB内存,每片片内地址线有位。

20.若有一个512K字的存储器,它由四个存储体组成,每个存储体为16K,则该存储体的字长是位。

21.计算机的I/O系统由、、和组成。

汇编练习题

汇编练习题

一、选择题1. CPU发出的访问存储器的地址是()。

A. 物理地址B. 偏移地址C. 逻辑地址D. 段地址2. 要实现使BETA的值为56,应采用语句为()。

A. BETA DB 56B. BETA DB 56HC. BETA EQU 56D. BETA EQU 56H3. CPU要访问的某一存储单元的实际地址称()。

A. 段地址B. 偏移地址C. 物理地址D. 逻辑地址4. 在执行下列指令时,需要使用段寄存器DS的指令是()。

A. STOSWB. ADD AL, CLC. NEG BXD. INC [BX]5. 下面各传送指令中,正确的是()。

A. MOV [DI], [SI]B. MOV [DX+DI], ALC. MOV WORD PTR [BX], 0100HD. MOV AL, BXX6.表示过程定义结束的伪指令是()。

A.ENDPB.ENDSC.ENDD.ENDM7. 将高级语言的程序翻译成机器语言的实用程序是()。

A. 编译程序B. 汇编程序C. 解释程序D. 目标程序8. 存储器分段,每个段不超过()。

A.64K 个字B.32K 个字节C.1 兆个字节D.64K 个字节9. 无论BH中原有的数是奇数或是偶数,若要使BH中的数一定为奇数,应执行的指令是()。

A. ADD BH, 01HB. OR BH, 01HC. XOR BH, 01HD. TEST BH,01H10. INC BYTE PTR[BX] 指令中的操作数的数据类型是()。

A. 字B. 双字C. 字节D. 四字11. 物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H 中取一个字的内容是()。

A.1020HB.3020HC.2030HD.2010H12. 使用DOS系统功能调用时,使用的软中断指令是()。

A. INT 21B. INT 10HC. INT 16HD. INT 21H13. 在下列语句中,BUFFER称为()。

汇编语言练习题

汇编语言练习题

一、单项选择题(本大题共20小题,每小题1分,共20分)1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()A.DEC AL B.SBB AL,0AAS DASC.SUB AL,1D.SUB AL,1AAS DAS5.要输入端口1234H中的8位数据,其指令应是()A.MOV DX,1234HB.MOV DX,1234HOUT DX,AL 1N AL,DXC.1N AX,1234HD.OUT DX,1234H6.若AX=-15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX7.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志8.MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=0D.CF=1,OF=09.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BX B.CWDIDIV BXC.XOR DX,DXD.CBWDIV BX IDIV BX10.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.1NC [DI]11.用REPE SCASB指令对字符串进行扫描,如CX 0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符12.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX13.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM14.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H16.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ -BUF1符号COUNT等价的值是()A.6B.18C.16D.817.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H18.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H19.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H20.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=121.与MOV BX,0FFSET VAR指令完全等效的指令是()。

汇编语言_实验三_编程、编译、连接、跟踪

汇编语言_实验三_编程、编译、连接、跟踪

汇编语⾔_实验三_编程、编译、连接、跟踪四、实验结论1. 练习1第⼀步,在记事本中输⼊实验要求中提供的代码,结果如下:将其以⽂件名t1.asm另存为到E:/masm。

第2步,为⽅便后续操作,此处先准备⼀个批处理⽂件:同样将其放⼊E盘masm路径下,重命名为process.bat。

(1)进⼊并配置好DSBox环境,使⽤process t1对t1.asm进⾏编译、连接并运⾏:屏幕上出现36.(2)将修改line 4和line 6中寄存器dl增加的值,发现line 4中写⼊的数值是屏幕上显⽰的第⼀位数字1,line 9中的数值是屏幕上第⼆位数字。

(3)使⽤debug命令对⽣成的t1.exe进⾏调试。

①⾸先,使⽤r命令查看寄存器的值:注意到,此处CX的值是0016H,DS的值为075AH,CS的值为076AH,刚好满⾜CS=DS+10H。

②使⽤d命令查看程序段前缀的前两个字节,发现前两个字节的确是CD 20:3.反汇编t1.exe,查看所得代码,由于CX=0016H,所以此处我们查看从CS开始的0015H个字节的代码:刚好是t1.asm中的内容。

④使⽤t命令和p命令进⾏单步调试直⾄程序结束,观察结果:2. 练习2第⼀步,编写汇编源程序:第⼆步,(1)对源程序进⾏编译、连接、运⾏,运⾏结果如下:看到屏幕出现酒红⾊的36,嗯,这说明我们的程序有好好的编译连接和运⾏了……(等等,说好的err呢?)(2)好吧,我们进继续按照实验要求中将原代码line 7的0433H改为0432H,将line 10中毒的0436H改为0439H,重新进⾏编译、链接、运⾏,得到结果如图:(3)我们继续尝试修改填⼊显存单元中的数值,将源代码中line7的0433h改为0333h, line10 的 0436h改为0336h, 然后重新汇编、连接,并运⾏,结果如下:此时屏幕左上⾓出现了绿⾊的36。

3. 延伸思考与分析(1)在实验⼀中,我们已知地址A0000~BFFFF被⽤来当做显存地址空间,向地址为A0000~BFFFF的内存单元中写⼊数据,就是向显存中写⼊数据,这些数据会被显⽰卡输出到显⽰器上。

汇编语言模拟题答案-(3)

汇编语言模拟题答案-(3)

第3章自测练习一、选择题(四选一)1.表示一条处理器指令所在存储单元的符号地址是 C。

A变量 B常量 C标号 D偏移量2.汇编语言中的变量有多种类型属性,但错误的类型是B 。

A字节型byte B字符型charC字型word D双字型dword3.执行mov bx,seg var指令,BX得到变量var的B 。

A物理地址 B段地址 C偏移地址 D内容4.MASM语句中,采用C 分隔标号和指令。

A逗号 B分号 C冒号 D空格5.欲设定从偏移地址100H开始安排程序,可使用A 伪指令。

Aorg 100h Bstart=100hCstart db 100h Dstart equ 100h6.与“mov bx,offset var”指令等效的指令是 D 。

A movbx,varB 1dsbx,varCles bx,var D1ea bx,var.7.下条语句buf db l0 dup(3 dup(?,10),3,10)汇编后,变量buf占有的存储单元字节数是B 。

A 100B 80C 40D 208.数据定义语句“numl dw(12 or 6 and 2) ge 0eh”,定义的num1单元的内容是 B。

A 0B 0FFFFHC 1D 0FFH9.要求将A、B两个字符的ASCII码41H和42H顺序存放在连续两个字节存储单元中,可选用的语句是 A 。

A db`AB'B dw `AB'C db 0ABHD dw 0ABH10.在汇编语言程序中,对END语句叙述正确的是C 。

AEND语句是一可执行语句BEND语句表示程序执行到此结束CEND语句表示源程序到此结束DEND语句在汇编后要产生机器码11.下面的数据传送指令中,错误的操作是D。

Amov ss:[bx+di],byte ptr 10h Bmov dx,l000hCmov word ptr[bx],1000h Dmov ds,2000h12.下面指令执行后,变量dab中的内容是C 。

《汇编语言》练习题库

《汇编语言》练习题库

华中师范大学网络教育学院《汇编语言程序设计》练习测试题库一 .选择题(只有一个正确答案,填在题干前的括号里)1.一台完整的计算机系统包括_________。

A.硬件系统和软件系统B.系统硬件和系统软件C.控制器、运算器、存储器、输入设备和输出设备D.操作系统、机器语言、汇编语言、高级语言2.汇编程序属于_________。

A.硬件系统B.软件系统C.系统软件D.用户软件3.简单的汇编语言程序可以通过_________来建立A.连接程序B.调试程序C.汇编程序D.编辑程序4.8086/8088微处理器包含有两个独立的部件_________和_________。

A.R和ALUB.CS和IPC.BIU和EUD.CPU和I/0设备5 .进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。

A.程序应该结构化B.程序应该执行速度快C.程序应该占用空间大D.程序应该简明、易读、易懂6 .一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是____。

A.12C5BHB.12B6BHC.12C59HD.12BFEH7 .字符串HOLLO的ASCII代码表示为____.A.484F4C4C4FHB.484F4D4D4FHC.494F4C4C4FHD.494F4D4D4FH8.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是_________:212CH。

A. IEA2HB. IEB2HC. IFA2HD. IFB2H9,现有段地址和偏移地址为1025H:0F2AH,那么它所对应存储单元中的物理地址是_________。

A. 1107AHB. 01F4FHC. 11F4FHD. 1117AH10.一个有16个字的数据区,它的起始地址是1000H:117AH,请指出这个数据区最末一个字单元的物理地址是_________。

A.111ACHB.11190HC .11198HD.1119AH11.在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是_________。

汇编语言练习

汇编语言练习

注意:程序编制中要先减低位,后减高位数据,由于是从地址单元 中取被减数和减数,地址单元前面都不能加#号,而差值单元由于 是在片外扩展的3000H和3001H地址单元,间址寄存器应为DPTR。 SUIDATA: MOV DPTR,#3000H CLR C MOV A,20H SUBB A,22H MOVX@DPTR,A MOV A,21H SUBB A,22H INC DPTR MOVX@DPTR,A RET
C.准双向输入/输出口
2.MCS—5l单片机的堆栈区是设置在( A.片内ROM区 C.片内RAM区 B.片外ROM区 D。片外RAM区
)中。
5
3.在寄存器间接寻址方式中,间址寄存器中存放的数据是 ( ) 。
A.参与操作的数据 C.程序的转换地址 编程题 请编制两字节(16位)无符号数减法程序。其中被减数的高位数 据存放在单片机片内RAM的21H单元、低位数据存放在20H单元中 ,减数的高位数据存放在23H单元、低位数据存放在22H单元,差 值的高位和低位数据分别存放到片外扩展RAM的3001H和3000H地 址单元中,程序以RET指令结束(程序名和程序中要使用的标号可 6 以自行定义)。 B.操作数的地址 D.指令的操作码
4.在方式0下,要达到2.4ms的定时时间,THO、TL0中装入的初 值数据分别是多少?
2
使用简单指令序列完成以下操作 1.已知两个数据7FH和80H,请编程完成这两个数据的乘法运算 (7FHX80H),并将乘 积转送到片内RAM的30H开始的单元中,其中30H单元存放乘积的低8 位数据。
2.请问,当执行完第l小题所要求的操作后,存入片内RAM的30H 、31H单元中的数据为多少?
10
顺序程序设计
例 1 两个无符号双字节数相加。

(汇编语言)练习题

(汇编语言)练习题

(汇编语言)练习题【一】填空题〔每题0.5分,共10分〕1、26.25D= B= O= H2、-56D的原码为 B,反码为 B,补码为 B。

3、0C51H的反码为 B,补码为 B。

4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。

6、设〔BX〕=1000H,〔DI〕=0010H,〔DS〕=2100H,在指令MOV AX,[BX+DI]中,源操作7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。

写出以下指令单独执行后的结果。

〔1〕MOVAX,BUF〔AX〕=〔2〕LEAAX,BUF〔AX〕=8、子程序的参数传递方法包括、、。

9、实模式下存储器的20位物理地址由加形成。

【二】选择题〔每题1分,共10分〕1、以下通用数据传送指令的几种传送中,错误的传送方式是()。

A、从累加器到存储器B、马上数到存储器C、从寄存器到存储器D、从存储器到存储器2、使进位位置1的指令是()。

A、CLCB、CMCC、STCD、NOP3、设AL,BL中基本上有符号数,当AL<=BL时转至NEXT处,在CMPAL,BL指令后,应选用正确的条件转移指令是()。

A、JBEB、JNGC、JNAD、JNLE4、指令LOOPZ的循环执行条件是()。

A、CX<>0同时ZF=0B、CX<>0或ZF=0C、CX<>0同时ZF=1D、CX<>0或ZF=15、以下合法的变量名称是〔〕。

A、9BUFB、ADDC、BUF9D、ASSUME6、一条指令中目的操作数不同意使用的寻址方式是()。

A、寄存器寻址B、马上数寻址C、变址寻址D、寄存器间接寻址7、DOS的功能调用号必须送〔〕寄存器。

A、DLB、DHC、ALD、AH8、在实模式下,存储器治理采纳分段模式,每段大小可达〔〕。

A、64MB、1MC、64KD、16字节9、用来存放下一条将要执行的指令地址的寄存器是()。

A、SPB、IPC、BPD、CS10、要使串操作从低地址向高地址进行,应把标志位设置为()。

汇编语言习题答案

汇编语言习题答案

第1章自测练习一、选择题(四选一)1.某个加法运算结果使标志ZF=1,则标志SF为A。

A0 B 1 C 不改变原来的状态 D 不确定2.可以为存储器操作数提供偏移地址的寄存器组是B。

A AX、BX、CX、DXB BX、BP、SI、DIC SP、IP、BP、DXD CS、DS、ES、SS3.8086/8088确定下一条执行指令物理地址的计算表达式为D。

A DS× 16+EAB ES× 16+EAC SS×l6+SPD CS×l6+IP4.某系列微机对存储器分段,如果每个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是C位。

A14 B 15 C 16 D 205.十进制数-100的8位二进制数的补码为 D 。

A10011011 B 01100100 C 10011101 D 100111006.下列各个8位二进制数的补码中,绝对值最大的是A。

A10001000 B 11111110 C 00000100 D 000000017.16位有符号数的补码所表示的十进制数的范围是B。

A-32767~+32768 B -32768~+32767C -65535~+65536D 0~655358.对数值83A7H作逻辑非运算后的结果是D。

A83A8H B、73A8H C、7C59H D、7C58H9.指令“mov cx,[bp+16]”的源操作数采用的段寄存器是 B 。

A CSB SSC DSD ES10.指向程序堆栈区的段寄存器是 B 。

A CSB SSC DSD ES11.有效地址是指 C 。

A存储器操作数的物理地址 B 存储器操作数的段地址C 存储器操作数的偏移地址D 立即数的偏移地址12.寄存器间接寻址方式中,操作数在 C 中。

A通用寄存器 B 段寄存器C 主存单元D 堆栈13.指令“mov ax,es:[bx][si]”源操作数的物理地址是D。

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。

A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。

A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。

A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。

汇编语言程序设计练习题及答案

汇编语言程序设计练习题及答案

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

)1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546HC.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’2.DA2 DB‘AB’,‘CD’┇MOV AX,WORD PTR DA2+1上述语句执行后AX中的值是(D)A.‘AD’B.‘BC’C.‘DA’D.‘CB’3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)A.DB 20 DUP(?) B.DW 20H DUP(?)C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D)A.32K字节B.32K字C.64K字节D.64K字5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BPC.SI D.DI6.下列指令中有语法错误的是(C)A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)A.16*SS+BP B.16*DS+BPC.16*CS+IP D.16*SS+SP8.把BL中的数据输出到端口8CH中正确指令是(C)A.OUT 8CH,BL B.IN 8CH,BLC.MOV AL,BL D.MOV AL,BLOUT 8CH,AL IN 8CH,AL9.结果为零的条件转移指令,其测试条件是(A)A.ZF=1 B.ZF=0C.SF=l D.SF=010.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是MOV CH,0MOV CH,0FFHZERO:MOV DH,CH(C)A.JNZ ZERO B.JS ZEROC.JZ ZERO D.JC ZERO11.汇编源程序时,出现语法错误的语句是(C)A.MOV [BX+SI],BX B.MOV CL,[BP+DI]C.MOV CS,AX D.MOV DS,AX12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)A.304FH B.304EHC.3048H D.3049H13.串操作指令中,每次操作后使SI/DI为减量应设置(C)A.DF=0 B.TF=1C.DF=1 D.TF=014.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=015. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A)A. 表示结果中含 1 的个数是奇数B. 表示结果中含1 的个数是偶数C. 表示该数是奇数D. 表示结果中低8 位中含1 的个数是奇数16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。

汇编语言程序设计练习题及参考答案

汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。

1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。

汇编语言程序设计练习题及答案

汇编语言程序设计练习题及答案

汇编语⾔程序设计练习题及答案⼀、单项选择题:1.设DS=5788H,偏移地址为94H,该字节的物理地址是 B 。

(A)57974H (B)57914H(C)5883H (D)58ECH2.IP指令指针寄存器是属于 D 。

(A)通⽤寄存器(B)段寄存器(C)变址寄存器(D)控制寄存器3.下⾯有语法错误的指令是 D 。

(A)ADD AL,AH(B)ADD [BX+3],AL(C)ADD AH,[DI](D)ADD [BX],DA1(DA1是变量名)4.完成对DX的有符号数除以2的指令是 B 。

(A)IDIV 2 (B)SAR DX,1(C)DIV 2 (D)RCR DX,15.使进位位置1的指令是 C 。

(A)CLC (B)CMC(C)STC (D)NOP6.设AL=-100,要使AL=100应执⾏的指令是 A 。

(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是 C 。

(A)JNS (B)JZ(C)JS (D)JC8.下⾯的XCHG指令中,语法正确的是 B 。

(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.⼀条指令中⽬的操作数不允许使⽤的寻址⽅式是 B 。

(A)寄存器寻址(B)⽴即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执⾏下列指令后,SP寄存器的值是 1fffd 。

(这道题没有正确答案,正确答案为1ffd,可能印错了)┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是 C 。

(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执⾏MUL CL指令后,结果是 C 。

汇编语言平时练习题

汇编语言平时练习题

2. 知识点:01 (基础知识)汇编语言属于()A.用户软件B.系统软件C.高级语言D.机器语言6. 知识点:0201(80x86微处理器) IBM PC机的DOS是属于()。

A.用户软件B.系统软件C.系统硬件D.一种语言8. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,8位的寄存器共有()个9. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,16位的寄存器共有()个。

10. 知识点:0204(存储器) 8086/8088 CPU执行算术运算时PSW共有()个标志位会受影响。

11. 知识点:0204(存储器) 在程序执行过程中,IP寄存器始终保存的是()。

A.上一条指令的首地址B.本条指令的首地址C.下一条指令的首地址D.需计算有效地址后才能确定地址12. 知识点:0204(存储器) IBM PC机的存储器可分()个段。

13知识点:0204(存储器)当使用BP作编程地址时,此时使用的是()段。

17知识点:0204(存储器)存储器的一个字节表示( )位。

18知识点:0101(基于微处理器的计算机系统构成)如果某个字变量的数据存放在奇地址单元,则8086/8088 CPU 读写该变量时需要( )个读写周期。

19知识点:0203(中央处理机) 在机器内部操作中,CPU 与存储器之间的任何信息交换使用的都是( )地址。

A.逻辑 B.物理 C.有效 D.相对21知识点:0204(存储器) 物理地址的形成过程是将段地址左移( )位加偏移地址。

27知识点:0205(外部设备) 一般的外部设备接口电路中的状态寄存器是用来存放外设或接口电路的( )信息。

A.数据 B.控制 C.状态 D.前三者28知识点:0201(80x86微处理器) 下列叙述正确的是( )。

A.不同类型的机器字长是一样的 B.一个字节有8位二进制数C.各种不同的机器指令系统都是一样的D.机器指令都是8位的29. 知识点:0203(中央处理机) 下列叙述正确的是( )。

汇编练习题——精选推荐

汇编练习题——精选推荐

汇编练习题⼀、填空或选择题1. ⼆进制数1010111B转换成⼗六进制数是()。

A.A7HB.AEHC.87HD.57H2.设字长为8位,则有符号数-2的补码表⽰是()A.10000010B B.11111101B C.11111110B D.00000010B3.设字长为8位,则有符号数+2的补码表⽰是()A.10000010B B.11111101B C.11111110B D.00000010B4.书写汇编语⾔程序时规定,对字母开头的⼗六进制数,其前⾯必须加()A.0B.DC.BD.H5. IBM PC微机中,有符号数是⽤( )表⽰的A.原码B.补码C.反码D.BCD码6.⼗进制数-48的原码是,反码是,补码是。

7.典型的微机硬件系统是由系统总线将_____中央处理器_______、___储存器______和___输⼊输出⼦系统___连接起来的。

8.计算机中唯⼀代表存储空间中每个字节单元的地址的是(B)A.段地址B.物理地址C.逻辑地址D.偏移地址9. 在Intel8086微处理器中,⽤来保存各逻辑段的段地址的寄存器称为(C)。

A.变址寄存器B.标志寄存器C.段寄存器D.指令指针寄存器10.在Intel8086微处理器中,⽤来保存数据段的段地址的寄存器是( A )A.DS B. ES C. SS D. CS 【 ES附加段,CS代码段,SS堆栈段】11.在Intel8086微处理器中,⽤来保存代码段的段地址的寄存器是( D )A.DS B. ES C. SS D. CS12.在Intel8086微处理器中,⽤来保存堆栈段的段地址的寄存器是( C )A.DS B. ES C. SS D. CS13. 微处理器Intel8086中存放下⼀条将要执⾏的指令偏移地址的寄存器(A)A.SPB.AXC.DID.IP :存放代码段的偏移地址始终指向下⼀条的⾸地址14. 微处理器Intel8086中存放堆栈栈顶的偏移地址的寄存器是(A)A.SPB.AXC.DID.IP15. 下列答案中(A )反映了指令操作结果有溢出A.OF=1B.SF=1C.ZF=1D.CF=1进位标志CF零标志ZF符号标志SF溢出标志 OF 奇偶标志 PF 辅助进位标志AF16. 下列答案中(C )反映了指令操作结果等于0A.OF=1B.SF=1C.ZF=1D.CF=117. 下列答案中(B)反映了指令操作结果为负数A.OF=1B.SF=1C.ZF=1D.CF=118. 下列答案中(D)反映了指令操作结果有进位A.OF=1B.SF=1C.ZF=1D.CF=119.取指令时,默认的段寄存器是__________;堆栈操作时,默认的段寄存器是__________。

汇编语言课后习题及答案 按章节 超全面

汇编语言课后习题及答案 按章节 超全面

`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。

(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。

(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。

(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。

(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。

(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。

(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。

(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。

(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。

2.目前广泛使用的Pentium计算机其字长为5个字节(×)。

3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。

4.微型计算机的字长并不一定是字节的整数倍(×)。

三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。

2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题1. 程序题一:编写一个汇编程序,实现将前n个自然数的和存储在寄存器AX中。

要求通过键盘输入n的值,并将计算结果输出到屏幕上。

程序思路如下:- 读取键盘输入的n值,存储到内存变量n_value中。

- 使用循环将前n个自然数求和,计算结果存储到寄存器AX中。

- 将寄存器AX中的结果输出到屏幕上。

2. 程序题二:编写一个汇编程序,实现求一个正整数的二进制表示中1的个数。

要求通过键盘输入一个正整数,并将结果输出到屏幕上。

程序思路如下:- 读取键盘输入的正整数值,存储到内存变量num中。

- 使用循环和位运算的方式,统计num的二进制表示中1的个数。

- 将得到的1的个数结果输出到屏幕上。

3. 程序题三:编写一个汇编程序,实现对一个已经存储在内存中的字符串进行反转。

要求将反转后的字符串输出到屏幕上。

程序思路如下:- 将待反转的字符串存储到内存变量str中。

- 使用循环和栈操作的方式,对字符串进行反转。

- 将反转后的字符串输出到屏幕上。

4. 程序题四:编写一个汇编程序,实现对一个已经存储在内存中的数组进行排序。

要求将排序后的数组输出到屏幕上。

程序思路如下:- 将待排序的数组存储到内存变量array中。

- 使用循环和比较交换的方式,对数组进行排序。

- 将排序后的数组输出到屏幕上。

5. 程序题五:编写一个汇编程序,实现求一个已经存储在内存中的数组中的最大值。

要求将最大值输出到屏幕上。

程序思路如下:- 将待求最大值的数组存储到内存变量array中。

- 使用循环和比较的方式,找到数组中的最大值。

- 将最大值输出到屏幕上。

以上是五道高校计算机专业汇编语言程序设计的练习题,希望能够帮助你提升汇编语言编程的能力。

完成这些练习题可以加深对汇编语言程序设计的理解和熟练程度,同时提升解决实际问题的能力。

如果你能够自行尝试解答并编写相应的程序,将会获得更好的学习效果。

祝你在汇编语言程序设计的学习中取得进步!。

汇编语言习题 (3)

汇编语言习题 (3)

第4章自测练习一、选择题(四选一)1.设计子程序应该采用的一对伪指令是___________。

A segment/endsB start/end startC proc/endpD macro/endm2.主程序将它的参数带给子程序,这个参数被称为。

A 入口参数B 出口参数C 寄存器参数D 存储器参数3.对应主程序CALL指令调用子程序,子程序结束通常采用_________ 指令返回主程序。

A jmpB iretC hltD ret4.下面程序段条件转移语句发生跳转的条件是AL=________ 。

cmp al,0fbhjnl nextA 80hB 8fhC 0f0hD 0ffh5.如下程序段中的“dec cx”指令执行了_________ 次。

mov cx,4jcxz nextagain:dec cxjnz againnext:...A 0B 1C 4D 5二、填空题1.程序的基本结构有、、和子程序四种。

2.子程序可以通过____________、___________、__________等传递参数.3.循环结构的程序通常由、和三部分组成。

4.如果主程序调用与它处在同一个代码段的子程序,这是调用。

5.下面程序段完成将存储单元abcd1中一个压缩型BCD码拆成两个非压缩型BCD码,高位BCD码存放在abcd3单元,低位BCD码存放在abcd2单元,再分别转换为对应的ASC Ⅱ码。

请将程序补充完整:mov al,abcdlmov cl,4Or al,30hmov abcd3,almov al,abcdlorl al,30hmov abcd2,al6.在下述程序段的每一空框内填人一个语句,以实现如下功能:字节变量string中存放着一个字符串,以0DH为结束标志,求串长度并送字变量count中。

lea si,stringxor cx,cxgoon:cmp al,[si]inc cx__________jmp goonnext:mov cont,cx7.阅读如下子程序,说明它的功能:sumary procxor ax,axxor dx,dx ;执行后,DX= 。

汇编语言练习题3

汇编语言练习题3

汇编语⾔练习题3汇编语⾔练习题1.已知:DATA SEGMENTTA1 DW 0102H,0304H,0506HTA2 DB 02H,03H,04H…MOV BX,DS:[0004H]AND BX,0FFHOR BH,[BX]上述指令序列运⾏后,BX的内容是:(C )A.0605HB.0402HC.0206HD.0204H2.下列指令中,有语法错误的是:(A )A.mov [si],[di]B.and ax,cxC.jmp word ptr[bx] D idiv bx3.若标志DF为0,则执⾏串操作MOVS指令后,寄存器SI,DI会:(B )A.不变B.增量C.减量D.不定4.下列(A )指令不合法。

A.in ax,278hB.rcr dx,clC.cmpsbD.ret 45.下列串操作指令中,在(C )指令前加重复前缀指令指令是没有实际价值的.A.movsbB.stosbC.lodsbD.cmpsbB.85942HC.BB420HD.12412H7.执⾏如下"mov sp,4320h"和"push bx"之后,SP寄存器的值是(C )A.4321HB.4322HC.431EHD.431FH8.假设SS=2000H,SP=0100H,AX=2021H,执⾏指令PUSH AX,存放数据21H的堆栈区的物理地址是(C )A.20102HB.20101HC.200FEHD.200FFH9.将寄存器AX的内容乘以2的正确指令序列是(B )?A.shr ax,1B.shl ax,1C.ror ax,1D.rcr ax,110.下⾯指令执⾏后,将改变AL寄存器内容的指令是(C )?A.test al,80hB.0r al,alC.and al,blD.cmp al,80h11.执⾏除法指令后,影响的标志位是(A )?A.所有状态标志都不确定B.CF,OFC.SF,ZFD.AF,PF12.编写分⽀程序,在进⾏条件判断前,可⽤指令构成条件,其中不能形成条件的指令是(D )?A.CMPB.SUB13.下⾯指令中,执⾏后对标志未发⽣改变的是(B )?A.cmp ax,axB.push axC.add ax,00ffhD.scasb14.下⾯指令中,不影响标志位的是(C )?A.sub ax,bxB.ror al,1C.jnc labelD.cmc15.下⾯指令中,执⾏后,不改变标志位CF的是(D )?A.clcB.and al,alC.sal al,1D.inc al16.下⾯指令执⾏后,总是使CF=OF=0的是(A )?A.andB.negC.notD.inc17.为使CX=-1时,执⾏“jz minus”转⾄标号minus⽽编制了⼀指令,其中错误的是(C )?A.inc cxB.sub cx,offffhC.and cx,offffhD.xor cx,offffh18.当⼀个带符号的数⼤于0FBH 时程序转移,在“CMP AL,OFBH”指令后,需选⽤的条件转移指令是(C )?A.JLEB.JNLC.JNLED.JL19.指令“TEST BH,1”测试BH中的数是否为奇数,若为奇数则转移,那么随后的条件指令应为(A )?C.JSD.JC20.循环指令LOOPNZ继续循环的条件是(D )?A.CX=0,且ZF=0B.CX=0,或ZF=1C.C X≠0,且ZF≠0D.C X≠0,或ZF=021.测试BL寄存器内容是否与数据4FH相等,若相等则转换NEXT处执⾏,那么在“JZ NEXT”指令前的⼀条指令应该是(B )?A.TEST BL,4FHB.XOR BL,4FHC.AND BL,4FHD.OR BL,4FH22.执⾏REP MOVSW串操作指令时,错误的操作是(D )?A.置⽅向标志位B.根据串操作指令设置重复次数并送⼊CXC.设置源操作数及⽬的操作数指针D.源操作数和⽬的操作数都可以加段超越23.CBW指令的功能是(B )?A.把源操作数的符号位扩展到⽬的操作数中B.把AL中的符号位扩展到AH中C.把AH中的符号位扩展到AL中D.把AX中的符号位扩展到AL中24.下列4条指令MUL BX、DIV BL、IN AX,20H、OUT 21H,AL中,有(A )条指令需要使⽤DX寄存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题
1. 指令STC 的功能是( )
(1)CF=0 (2)CF=1 (3)DF=0 (4) DF=1
2. 在指令MOV AX, [BP]中,隐含使用的段寄存器是()
(1)CS (2)SS (3) DS (4)ES
3. 对于无符号数字除法指令MUL OPRD,其运算结果为()。

(1)(AL)为余数,(AH)为商(2)(AX)为余数,(DX)为商
(3)(AH)为余数,(AL)为商(4)(DX)为余数,(AX)为商
4. 设(SP)= 0100H , 执行PUSHF 之后, SP的值是( )
(1) 0101H (2)00FFH (3) 00FEH (4) 0102H
5. 在条件转移指令中,结果不为0时则转移的指令是()
(1) JZ (2)JNZ (3) JS (4) JNS
6. 能使(CX)= 0 的指令是()
(1) OR CX, 0 (2) SUB CX, 0
(3) AND CX, CX (4) XOR CX , CX
7. 执行DOS功能调用时,需要先将功能号送到寄存器()。

(1)CX (2)AL (3)AH (4)CH
8. 设主存某单元物理地址为22010H,用逻辑地址表示( )
(1)22010H:0H (2)2200H:10H (3)2200H:100H (4)2000H:1010H
9.下列指令正确的是()
(1)CMP [SI], [DI] (2) MUL AX, 100H
(3) ROL AX, 2 (4) OR AH, CL
10.假设(AX)=32A1H, 执行指令AND AH, AL 之后,(AX)=( )
(1)0020H (2)20A1H (3)0B3A1H (4)2000H
二、多项选择题
1 . 十进制数65可转换为( )
(1) 41H (2) 01000001B (3) 101Q (4)81Q
2. 寄存器间接寻址方式中可使用的寄存器有()
(1)BX (2)CX (3)DI (4)BP
3.下列指令不影响标志寄存器的有()
(1) CMPS STRING1,STRING2 (2) LAODS STRING1
(3) NOT AX (4) NEG AX
4.执行()指令时,需要使用段寄存器SS
(1) LAHF (2) MOV [BX] ,AL
(3) POPF (4) MOV [BP],CL
三、填空题
1.在补码表示法中,8位二进制数表示的范围是()。

2.在IBM PC微机上,进行下面补码表示的8位二进制数运算:
01101011+11010110
问:标志位CF=( ), SF=( ), OF= ( ), ZF=( ).
3.TEST指令与AND指令的相同点是(),区别是()
4.设(DS)=0122H,四个字节存储单元分别是(01256H)= 40H, (01257H)=20H,(01258H) = 13H,(01259H)=32H。

(BX)=36H, 执行指令LDS SI, [BX] 后,
(DS)=( ), (SI)=( ).
5.设数据段有数据定义语句:V A DB 1, 3, ‘ABC’, 执行指令
MOV AX, LENGTH V A
问: (AX) =( ).
四、简答题
1.分别指出下列各指令有什么错误。

(1)MOV AL,1000
(2) SHL AX, 2
(3)LEA DI,SI
2. 数据段中有下列语句,试用示意图说明各变量在存储器中的分配情况。

DA TA SEGMENT
V A1 DB ‘ABC’
V A2 EQU 0AH
V A3 DW ‘AB’, 0ABH, ‘C’
DA TA ENDS
五、读程序,写结果.
1 .设(AX)=0FF60H
STC
MOV DX, 96
XOR DH,0FFH
SBB AX,DX
上述程序执行后,
(AX)=( ), CF=( ).
2. MOV AL,59H
MOV BL,64H
ADD AL,BL
DAA
上述指令执行之后,(AL)=( ),(BL)=( ).
3. 设有以下数据段:
DA TA SEGMENT
V A1 DW 234H,456H,0FE00H
V A2 DB 34H,56H,78H,0FEH
DB $-V A1
RES DB 10H DUP(3,4,5)
DA TA ENDS
写出下面程序段执行后RES的前五个字节单元的内容分别是多少?
MOV SI, 0
MOV CX,4
LOP: MOV AL,BYTE PTR V A1[SI]
MOV RES[SI], AL
INC SI
LOOP LOP
4. 设(AX)=0CF77H,(CX)=504H
CLC
SAR AX,CL
XCHG CH,CL
SHL AX, CL
上述指令执行之后,
(AX)=( ),CF=( ).
六、编程序段
1. 下面程序段的功能是将数据0 9转换为对应的ASCII码。

试将空白处填上适当的指令。

V A DB 0,1,2,3,4,5,6,7,8,9
ASC DB 10 DUP(0)
MOV SI, OFFSET V A
MOV DI,OFFSET AS
(1)
LOP: MOV AL,[SI]
(2)
MOV [DI], AL
INC SI
INC DI
LOOP LOP
2.编程计算V A-VB的绝对值。

其中V A和VB为变量表示的8位无符号数;要求结果存放在RES字节单元。

只写出主要语句。

七、编写一完整源程序统计数据区BUF中包含字符‘C’的个数。

结果存入RES单元中。

(用串操作指令)
DA TA SEGMENT
BUF DB ‘ACDECGWGH’
RES DB ?
DA TA ENDS
写出完整的程序。

一、1(2)2(2)3(4)4(3)5(2)6(4)7(3)8(2)9(4)10(2)
二、1(1)(2)(3)2(1)(2)(3)(4)3(2) 4(2)(4)
三、1 -128~127 2. CF=(1), SF=(0), OF= (0), ZF=(0),3.都是执行逻辑与运算,TEST指令不送结果到目的操作数。

4.(DS)=(3213H), (SI)=(2040H) 5.(AX) =(1).
四、
1. 源操作数的长度与目的操作数的长度不匹配;
2. 移位次数大于1时,应使用CL寄存器表示。

3. LEA指令的源操作数必须是存储器操作数。

五、1. (AX)=0, CF=0 (执行指令XOR将清进位CF)
2. (AL)=23H, (BL)=64H
3. 34H,02H,56H,04H,04H
4. (AX)=9EE0H, CF=1
六、
1.(1)MOV CL,10 (2) OR AL,30H 或ADD AL,30H
2. ……
MOV AL, V A
CMP AL,VB
JB NEXT
SUB AL,VB
JMP END0
NEXT:SUB VB, AL
MOV AL, VB
MOV RES, AL
…….
七、
DA TA SEGMENT
BUF DB ‘ACDECGWGH’
LENG EQU $-BUF
RES DB ?
DA TA ENDS
STACK1 SEGMENT STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK1,DS:DA TA
START: MOV AX,DA TA
MOV DS,AX
XOR BL, BL
MOV AL, ‘C’
LEA DS, BUF
MOV CX, LENG
LOP: SCASB
JNZ NEXT
INC BL NEXT: LOOP LOP
MOV RES, BL
MOV AH, 4CH
INT 21H CODE ENDS
END START。

相关文档
最新文档