汇编语言程序设计学生题库(汇编语言程序设计习题)

本文目录
- 汇编语言程序设计习题
- 汇编语言程序设计试题,高手来!
- 汇编语言程序设计(高起专) 求大神帮助
- 汇编语言程序设计(高起专) 求大神帮助
- <汇编语言程序设计〉半期试题请求解答
- .汇编语言程序设计考题,求高手解答
- 汇编语言习题
- 求汇编语言程序设计高手,几道题,感激不尽!!
- 汇编语言程序设计题目
- IBM-PC汇编语言程序设计练习题
汇编语言程序设计习题
1.写出下列程序段执行的结果,(AL)=? (DL)=?
并指出此程序段完成的是什么功能?
MOV CL, 4
MOV AL, 87d=57H
MOV DL, AL
AND AL, 0FH
OR AL, 30H
SHR DL, CL
OR DL, 30H
(AL)=37H (DL)=35H
程序段完成功能是:把AL中的16进制数高位送DL,移位取出低位,
再分别转化为对应的ASCII码.
2.假定DS=2100H,BX=0100H,SI=0002H;
=78H。
2100:100H=12H,34H,56H,78H
分析下列指令执行后寄存器的内容。
(1) MOV AX, ;ax=5634H
(2) MOV AX,=7856H
(3) MOV AL,=78H
(4) MOV AX,100H=7856H
3.识别下列指令正确与否,对错误指令,说明出错的原因。
(1) MOV DS,100 × ;数据段不允许用立即数赋值
(2) MOV ,23H ×;立即数送入内存需指明是字还是字节
(3) MOV ×;源和目标不能同为内存数
(4) MOV DATA,1133H ? ;如用DATA定义过数据段,DATA就不能再用作变量名
(5) MOV 1020H,DX ×;目标不能是立即数
(6) MOV AX, ×;寻址时,BX、BP只能用一个
(7) MOV CS,AX ×;CS不能直接赋值
(8) PUSH AL ×;堆栈不能压入字节,只能压入字(32位压入双字)
(9) PUSH WORD PTR √
(10) IN AL,378H ×;端口寻址大于0FFH,端口号源要放入DX
(11) OUT 80H,AX √
(12) MOV CX,×;AX不能用于内存寻址
汇编语言程序设计试题,高手来!
LS第10题、第12题回答错误。
1.唯一代表存储空间中每个字节单元的地址是: 物理地址。
2.JNC指令转移的测试条件是: 进位标志位复位,即CF=0(源操作数不小于目的操作数)。
3.将端口地址为30H中的数据传送到CPU中的指令是: IN AL,30H。
4.8086微处理系统中最多有 1024 个端口地址。
5.判断无符号数运算是否溢出,应根据 进位 标志位;而判断有符号数运算是否溢出应根据 溢出 标志位。
6.执行 INT 10H指令,可从中断向量表 40H 地址读出内容送IP,从 42H 地址单元读出内容送CS。
7.语句 ASC DB ‘1234’设置了 4 个字节。
8.某微机有16条地址线,能够覆盖的地址范围是: 0000H~0FFFFH。
9.8086CPU允许的最大存储空间为 1M字节,其地址编号从 0000H 到 FFFFH H。
10.把AX中第0、1、3位清零,应使用的指令是: AND AX,0FFF4H。
11.设寄存器位数为8位,机器数采用补码形式(含一位符号位)。对应于十进制数-73的寄存器内容为: B7H(用16进制表示)。
12.设A为字变量,指令MOV AX, A的源操作数寻址方式是: 存储器直接寻址。
汇编语言程序设计(高起专) 求大神帮助
25. ( 单选题 ) 链接*.COM文件时,简化段定义伪指令MODEL为(本题2.0分)
A、 TINY
26. ( 单选题 ) 循环指令LOOP继续循环的测试条件是( )(本题2.0分)
D、 CX=1
27. ( 单选题 ) 将8K×4位的EEPROM扩展成8K×8位的存储器,需要进行 ( )(本题2.0分)
B、 位扩展
28. ( 单选题 ) 设SP初值是1000H,执行指令POP BX后,SP的值是( )。(本题2.0分)
A、 1002H
29. ( 单选题 ) 在8086/8088系统中,条件转移的范围是 ( )(本题2.0分)
B、 -128~+127
汇编语言程序设计(高起专) 求大神帮助
30. ( 单选题 ) 执行XLAT指令时,要将表的首地址和偏移地址分别存放的寄存器是( )。(本题2.0分)
A、 BX, AL
31. ( 单选题 ) 下述指令中对标志寄存器PSW中标志位不产生影响的指令是 ( )(本题2.0分)
D、 JMP LOP
32. ( 单选题 ) 将8K×8位的EEPROM扩展成64K×8位的存储器,需要进行 ( )(本题2.0分)
A、 字扩展
33. ( 单选题 ) INC WORD PTR 指令中的操作数的数据类型是( )。(本题2.0分)
B、 字
34. ( 单选题 ) 当程序顺序执行时,每取一条指令语句,IP指针增加的值是 ( )(本题2.0分)
D、 不定
<汇编语言程序设计〉半期试题请求解答
2012年〈汇编语言程序设计〉半期试题(堂下开卷)
一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1. 逻辑地址:在CPU内部的存储单元地址表示形式,分为段基值和偏移量两个组成部分,
它们都是16位的,在指令或源程序中只能使用逻辑地址来表达存储单元。
2. 物理地址:CPU访问存储单元时向地址总线传送的地址表示形式,是20位的地址,由
逻辑地址中段基值乘以16再加上偏移量得到,逻辑地址到物理地址的转换由CPU在执行访问存储单元的指令时自动完成。
3. 标志寄存器:在CPU中由状态标志位与控制标志位组成的寄存器称为标志寄存器,其
中状态标志位用于标识运算指令执行后运算结果的特征,控制标志位用于控制CPU的工作模式或改变CPU对某些事件的响应方式。
4. 存储器寻址方式:即获得存储单元地址的方式,在8086/8088CPU中包括直接寻址、寄
存器间接寻址、基址寻址、变址寻址、基址变址寻址这五种寻址方式。
5. 补码:CPU内部用于表示带符号数的一种编码,正数的补码为真值本身,负数的补码为
真值变反加1的结果。
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1. 将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少? 答:100的十六进制表示为64H,二进制表示为01100100B。 2. 假设(DS)=0B00H,(BX)=0210H,对于指令MOV DS:120H,AL,其目的
操作数的物理地址为多少?
答:EA=(BX)+120H = 0210H+0120H = 0330H,物理地址 = (DS)*16+EA = 0B000H+0330H=0B330H。 3. 假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,,其源操作数的偏
移量为多少?
答:源操作数EA = (BX)+(DI)= 0210H+0060H =0270H。 4. 假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=? 答:(SP)=0060H – 5*2 = 0060H – 000AH = 0056H
5. 对于一个十进制数 – 65,其二进制补码表示形式为多少?
答:先将数值转换为二进制表示: - 65 = - 41H = - 01000001B ,由于是负数,变反加1得到补码形式:10111110B +00000001B = 10111111B
三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指
令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
1. PUSH 5588H
答:错误,单操作数指令不能使用立即数寻址方式。 2. MOV DS, 1720H
答:错误,MOV指令不能将立即数直接传送至段寄存器,需要通用寄存器作为中转。 3. ADD AX, CL
答:错误,两个操作数的类型不匹配,AX为16位,CL为8位。 4. AND AX,
答:错误,DX寄存器不能用作存储器寻址方式中的基址或变址分量。
四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片
段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。(寄存器中的内容请使用十六进制形式给出)
1. 阅读如下程序片段
MOV AL,4CH MOV BL,0B5H ADD AL,BL
执行上述程序片段后,(AL)= 01H (1分),(BL)= 0B5H (1分), CF= 1 (1分),OF= 0 (1分),PF= 0 (1分)
2. 阅读如下程序片段
MOV AL,0F3H MOV DL,0C4H ADD AL,DL AND AL,0FH
执行上述程序片段后,(AL)= 07H (1分),(AF)= 不确定 (1分), CF= 0 (1分),OF= 0 (1分),PF= 0 (1分)
3. 阅读如下程序片段
MOV AL,7EH MOV CL,04H ROL AL,CL
执行上述程序片段后,(AL)= 0E7H (2分),(CL)= 04H (1分), CF= 1 (1分),OF= 不确定 (1分)
4. 阅读如下程序片段
MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX
执行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分), OF= 0 (1分)
5. 阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)
=28H
MOV BX,0024H LEA BX,
执行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分), OF= 0 (1分)
6. 阅读如下程序片段,假设(SP)=0064H
MOV AX,0001H MOV BX,0002H PUSH AX PUSH BX POP CX POP BX
执行上述程序片段后,(AX)= 0001H (2分),(BX)= 0001H (2分), (SP)= 0064H (1分)
五.程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)
1. 试编写一程序片段,实现BL高4位与低4位相互交换(7分) 答:
mov cl, 4 rol bl, cl
2. 试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/ 2的功能(AX中的数
据理解为补码)(8分) 答:
mov bx, ax mov cl, 2 sal ax, cl add ax, bx add ax, 14 sar ax, 1
.汇编语言程序设计考题,求高手解答
一、判断题(5道小题,共15分)
1、MASM汇编语言的注释用分号开始,无所谓英文分号、还是中文分号。(3分)
错误
2、按照MASM语法编程时,可以将SHL作为8086指令的标号。(3分)
错误
3、指令“mov ax,ds:”中,若DS=1400H,则源操作数来自主存物理地址1500H。(3分)
错误
4、汇编结束END语句表明程序执行到此结束。(3分)
错误
5、指令的操作数使用存储器寻址方式,说明操作数保存在主存储器中。(3分)
正确
二、单项选择题(5道小题,共15分)
1、某个8086存储单元的逻辑地址为A400H:2400H,其物理地址是__B、A6400H__。(3分)
A、D7000H B、A6400H
C、3D400H D、0A640H
2、在8086处理器中,用来指示当前堆栈顶部的寄存器是__A、SP__。(3分)
A、SP B、IP
C、BP D、SS
3、已知字变量BUFFER内容等于1234H,保存于主存数据段偏移地址为5678H位置,
执行指令“MOV AX, BUFFER”后,AX=__C、3412H__。(3分)
A、7856H B、5678H
C、3412H D、1234H
4、汇编语言程序定义符号常量max等于100,正确的表达是__A、max = 100__。(3分)
A、max = 100 B、max db 100
C、max dw 100 D、max org 100
5、堆栈的操作原则可以描述为__B、后进后出__。(3分)
A、先进先出 B、后进后出
C、先进后出 D、循环
汇编语言习题
DS=1000H,SS=2000H,
AX=1A2BH,BX=1200H,
CX=339AH,BP=1200H,
SP=1350H,SI=1354H,
(11350H)=0A5H,
(11351H)=3CH,
(11352H)=0FFH,
(11353H)=26H,
(11354H)=52H,
(11355H)=0E7H,
(126A4H)=9DH,
(126A5H)=16H,
(21350H)=51H
MOV AX,1352H
AX=1352H
MOV 0150H =11350H
(11350H)=33H ; 只赋值了一个字节,
(11351H)=3CH ; 没有改变
MOV AX,0150H = 21350H
AX=0051H ;由于不知道的值,这里给默认值0;可能是出题人出漏了,也可能是你拷贝时漏掉了。
POP AX
AX=0051H ;把的值pop出
SP=1352 ;SP+=2,出栈,进栈,SP-=2
ADD = E752H + 339AH = 1 1AECH,有进位
(11354H)=ECH
(11355H)=1AH
SF=PL ;PL=0 运算结果1AECH,最高位是0,所以是正数
ZF=NZ ;NZ=0 不等于0
PF=PO ;PO=0 由于E752H = 1110 0111 0101 0010B,9个1,所以是奇数,PO
CF=CY ;CY=1 有进位
OF=NV ;NV=0 运算结果,如果当作无符号数的话,》255,所以有进位,当作有符号数的话,1AEC在范围内,所以无溢出。
;2个符号相反的数相加,不会有溢出
SUB BH,0150H = 9DH, 即:12H-9Dh = 75H,有借位
BH=75H
SF=PL ;75H,最高位0
ZF=NZ ;非0
PF=PE ;12H = 0001 0010B, 2个1,所以是PE
CF=CY ;有借位
OF=NV ;没有溢出
INC BYTE PTR 0152H + 152H = 17652H,显然没有这个地址。所以bx还是应该按照1200H计算,
;(ds)x10A + = 0FFH
(11352H)=00H ;FF+1 = 1 00H,有进位
(11353H)=26H ;原数,不变
CF=CY ;
SAR BYTE PTR 0150H =33H,这里按原值计算,题目出得不严谨)
; A5H=1010 0101B 算术右移1bit,最高位不变,1101 0010B = D2H,最低位进CF,所以有进位标志
(11350H)=D2H
CF=CY ; 1
OF=NV ; 有进位,无溢出
SAL BYTE PTR 0150H ,1 ;同理,A5H 算术左移,高位进CF,低位补0, 1010 0101B = 0100 1010B = 4AH
(11350H)=4AH
CF=CY ;高位1进CF
OF=OV ;有溢出了
求汇编语言程序设计高手,几道题,感激不尽!!
多项选择题
1、汇编语言中,B C 可以作为有效的名字,如标号、变量名等。
A、0fffh
B、var00
C、loop1
D、test
E、add
2、使用MASM 6.x版本的“ML /Fl lt401.asm”命令,如果源程序lt401.asm没有语法错误,则将生成 A B C 文件。
A、目标代码文件
B、可执行文件
C、列表文件
D、调试文件
E、库文件
3、汇编语言中,程序员不能将 A B D E 作为用户标识符。
A、DS
B、byte
C、again
D、test
E、SS
4、在汇编语言程序定义常量max等于100,正确的表达是 A B 。
A、max = 100
B、max equ 100
C、max db 100
D、max dw 100
E、max org 100
5、真值18,在汇编语言程序用db定义变量初值,正确的表达是 B C D E。
A、18h
B、18
C、12h
D、00010010b
E、12H
6、用JZ实现AX最高位等于0转移,前面可以使用 A C 指令产生条件。
A、test ax,80h
B、shl ax,1
C、and ax,80h
D、test ax,0
E、cmp ax,80h
7、过程定义伪指令定义的过程名可能具有 D E 属性。
A、BYTE
B、WORD
C、DWORD
D、FAR
E、NEAR
8、例题4.7循环结构的程序中,从标号again到jmp again之间的程序段包含了_______部分。
A、循环初始
B、循环体
C、循环控制
D、多重循环
E、循环次数设置
晕,谁知道例题是什么,不过标号到跳转语句之间,应该就是循环体部分,一定是包含了 B C ,不知道有没有 D 。
9、用JZ实现AX=0转移,前面可以使用 A B C 指令产生条件。
A、sub ax,0
B、add ax,0
C、cmp ax ,0
D、test ax,0
E、and ax,0
10、循环结构的程序通常包括 A C D 部分。
A、设置循环初值
B、调用循环
C、循环体
D、循环控制
E、循环返回
汇编语言程序设计题目
一、改错(只能对每条错误指令的一个操作数进行修改)。(共10分,每小题1分)
1. MOVBX,AL改正: MOV BX,BX
2. MOV AX, A999H 改正:MOV AX,0A999H
3. MOV AL, 1234改正:MOV AX,1234
4. MOVAX,
5. MOVDS, 1000H 改正:MOV AX,1000H MOV DS,AX
6. ADD,10
8. PUSHAH 改正:PUSH AX
9. INC
9. MOV
10. MUL10 改正:MOV CX,10 MUL CX
IBM-PC汇编语言程序设计练习题
先做前两个大题吧
一:填空
1. AX又被称为(累加)器。
2. PF=1表示(低八位1的个数)为偶数。
3. 操作数直接存放在指令中,紧跟在操作码之后,他作为指令的一部分存放在代码段里,这种操作数称为(立即数)。
4. 62A0H+9D60H=(10000)H
5. 标号和变量都有三种属性:(1、段属性 2、偏移属性 3、类型属性)。
6. 在另一个模块中定义而要在本模块中使用的符号必须使用(段寻址)伪操作。(这题不肯定)
7. 逻辑运算是按(位)操作。
8. 循环程序通常由(初始化、循环工作与控制、循环结束的处理部分)三部分构成。
9. 129=(100000001)B
10. 机器数为88H,带符号十进制数(-120) 解题过程:88H即10001000B 第一个1表示是负数,而机器中的数都是以补码表示,补码又是原码变反加一,倒推一下,所以对应的正数是01111000,即120,所以~~
11. 将高级语言源程序翻译成机器语言程序的系统程序是(目标程序)。
12. (BP)称为基址指针寄存器。
13. 标识运算结果正负的标志是SF。SF=(1)时结果为正。
14. 8086实模式下一个段的大小可达(64K)B
15. 8086中可用于寄存器间接寻址的四个寄存器是(SP、BP、SI、DI)。
16. 在移位指令中,若移位次数大于1,就可将移位次数置于(CL寄存器)中。
17. 宏由(MACRO、ENDM)这一对伪指令来定义。
18. 访问堆栈的指令(如PUSH)只能使用(SS--堆栈段)作为段寄存器。
19. 指令CLD用于清除方向标志而(STD)指令使方向标志置1。
二。简答
根据以下要求,分别写出相应的汇编语言指令或指令序列。
1.把AX寄存器和BX寄存器的内容相减,结果存入AX中。
SBB AX,BX
2.将AX的内容逻辑左移5位。
MOV CL,5
SHL CL
3.将AX的内容,减去0520H和上次运算的借位。
SBB AX,0520H
4.将变量名TABLE的段地址送AX。
MOV AX,SEG TABLE
5.将DI的高四位置为0。
AND DI,0FH
6.输出一个字节到61H号端口。
OUT 61H,AL
7.将SI和DI的内容互换。
XCHG SI,DI

本文相关文章:
c语言程序设计第三部答案(《C语言程序设计教程》第三版(谭浩强\张基温)编著,高等教育出版社出版,课后习题答案!)
2025年10月3日 00:45
web期末考试题库(计算机二级《Web程序设计》试题及答案)
2025年9月9日 01:15
更多文章:
高压断路器的触头间介质击穿电压(户内高压真空断路器的工作原理好难啊,有没有看的懂的专家能够给我解释一下的)
2025年7月23日 21:00
数据库实施阶段的工具(数据库应用系统的开发具体分为哪几个阶段(1)
2025年12月3日 16:45
小时代1折纸时代在线观看(哪里可以看小时代—折纸时代的全部内容啊)
2025年8月13日 05:30
python怎么读取二进制文件(如何用python生成和读取二进制文件)
2025年12月12日 09:15
网页设计与制作怎样制作网站(如何设计制作网站网站建设基本流程详解)
2026年5月30日 04:45
c语言一维数组有几个数(c语言的一维数组中至少要有几个元素)
2025年11月27日 13:30
linuxtracert命令的作用(急需高手指点~ping命令是用的什么端口)
2026年3月25日 22:30
cocos2d是三维游戏引擎吗(如何评价cocos2d-x的3d性能)
2026年9月16日 08:45
animation公司的动漫(全职猎人是哪个动画公司制作的这对我以后发展有很关键作用.求回答~)
2025年12月13日 16:30
sql server2019下载官网(sql2019有效安装文件夹在哪)
2025年10月13日 08:00
varchar2 100 能存多少汉字(varchar2(100)多长)
2026年4月21日 18:00
mysqlworkbench是什么(MySQL Workbench 5.2 CE如何应用都能做些什么)
2025年6月5日 16:45











