百度
360搜索
搜狗搜索

汇编语言程序设计试卷,(汇编语言程序设计〉半期试题请求解答详细介绍

本文目录一览: 汇编语言程序设计习题

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;
[21100H]=12H,[21101H]=34H,[21102H]=56H,[21103H]=78H。
2100:100H=12H,34H,56H,78H
分析下列指令执行后寄存器的内容。
(1) MOV AX,[101H] ;ax=5634H
(2) MOV AX,[BX+2] ;ax=[0102H]=7856H
(3) MOV AL,[BX][SI+1] ;al=[0103H]=78H
(4) MOV AX,100H[SI] ;ax=[0102H]=7856H
3.识别下列指令正确与否,对错误指令,说明出错的原因。
(1) MOV DS,100 × ;数据段不允许用立即数赋值
(2) MOV [1000H],23H ×;立即数送入内存需指明是字还是字节
(3) MOV [1000H],[2000H] ×;源和目标不能同为内存数
(4) MOV DATA,1133H ? ;如用DATA定义过数据段,DATA就不能再用作变量名
(5) MOV 1020H,DX ×;目标不能是立即数
(6) MOV AX,[0100H+BX+BP] ×;寻址时,BX、BP只能用一个
(7) MOV CS,AX ×;CS不能直接赋值
(8) PUSH AL ×;堆栈不能压入字节,只能压入字(32位压入双字)
(9) PUSH WORD PTR[SI] √
(10) IN AL,378H ×;端口寻址大于0FFH,端口号源要放入DX
(11) OUT 80H,AX √
(12) MOV CX,[AX+SI]×;AX不能用于内存寻址

.汇编语言程序设计考题,求高手解答

一、判断题(5道小题,共15分)
1、MASM汇编语言的注释用分号开始,无所谓英文分号、还是中文分号。(3分)
错误
2、按照MASM语法编程时,可以将SHL作为8086指令的标号。(3分)
错误
3、指令“mov ax,ds:[100h]”中,若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、循环

汇编语言程序设计试题,高手来!

1.唯一代表存储空间中每个字节单元的地址是___物理地址___。
2.JNC指令转移的测试条件是__C=0____。
3.将端口地址为30H中的数据传送到CPU中的指令是__IN AL, 30H__。
4.8086微处理系统中最多有__1024__个端口地址。
5.判断无符号数运算是否溢出,应根据__进位标志_C__标志位;而判断有符号数运算是否溢出应根据__溢出 OV___标志位。
6.执行 INT 10H指令,可从中断向量表__0040H___地址读出内容送IP,从__0042H___地址单元读出内容送CS。
7.语句 ASC DB ‘1234’设置了__4__个字节。
8.某微机有16条地址线,能够覆盖的地址范围是_0000H~FFFFH__。
9.8086CPU允许的最大存储空间为_1M 字节_,其地址编号从_00000H_到__FFFFF_H。
10.把AX中第0、1、3位清零,应使用的指令是_AND AX, 0FFF2H__。
11.设寄存器位数为8位,机器数采用补码形式(含一位符号位)。对应于十进制数-73的寄存器内容为__B7H___(用16进制表示)。
12.设A为字变量,指令MOV AX, A的源操作数寻址方式是__立即数寻址___。
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的源操作数寻址方式是: 存储器直接寻址。

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

(汇编语言程序设计〉半期试题请求解答

阅读更多 >>>  bah3-al00是什么型号

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[BX],AL,其目的
操作数的物理地址为多少?
答:EA=(BX)+120H = 0210H+0120H = 0330H,物理地址 = (DS)*16+EA = 0B000H+0330H=0B330H。 3. 假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,[BX][DI],其源操作数的偏
移量为多少?
答:源操作数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]
答:错误,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] OR BX,0 ADC BX,[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

求汇编语言与程序设计高手来。我需要组一份汇编试题请高手给做下。谢谢。时间比较急。

1.设(DS)=2000H, (ES)=3000H, (SS)=4000H, (BX)=1000H, (BP)=1000H, (SI)=0001H, (DI)=0002H, (21000H)=1234H, (21002H)=5678H, (31000H)=9ABCH, (31002H)=0DEF0H, (41000H)=3456H, (41002H)=789AH, 计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。
MOV AX, ES:[1000H] 物理地址 31000H (AX)=9ABCH
MOV AX, [BX] 物理地址 21000H (AX)=1234H
MOV AX,[BP+DI] 物理地址 21002H (AX)=5678H
MOV AX, [BX][SI] 物理地址 21001H (AX)=7812H
6.在下列程序段括号中,填入正确的答案。
DATA SEGMENT
BUF DB 12H,56H
DATA ENDS
7.指出下列指令错误原因,填入括号中。
A. MOV AX,BL ;源操作数与目标操作数长度不同
B. MOV CS,AX ;CS寄存器不能作为目标操作数
C. DEC GAMA[BX] ;必须显示指明目标操作数的长度(使用BYTE PTR、WORD PTR等修饰符)
D. MOV ES,5600H ;以段寄存器作为MOV指令的目标操作数时,源操作数不能是立即数
E. SUB AX,DS ;段寄存器不可作为运算类指令的源操作数
8.下列语句在存贮器中分别为变量分配多少字节?请填入括号中。
VR1 DW ? ;2字节
VR2 DW 4 DUP(?),2;10字节
CONT EQU 10 ;此为伪指令,CONT只是作为汇编阶段中表示数值10的标号,不是变量,因此不实际分配内存
9.设BX=1200H,SI=0002H,DS=3000H,(31200H)=50H,(31201H)=02H,(31202H)=OF7H,(31203H)=90H请写出下列各条指令单独执行后,有关寄存器及存储单元的内容,若该指令影响标志位,则指出其值。
A. DEC BYTE PTR〔1200H〕 ; 问:(31200)=4FH, CF=原来CF的值(DEC指令不影响CF标志)
B. SAR BYTE PTR [SI+1200H],1 ; 问:(31202H)=FBH,ZF=0
C. MOV AX,WORD PTR〔BX+SI〕 ;问:AX=90F7H,SF=原来SF的值(MOV指令不影响标志位)
2.每组写一条程序指令,使: (6分)
A. BX寄存器的低四位置1 OR BX,000FH 或者 OR BL,0FH
B. AX寄存器的低四位清0 AND AX,0FFF0H 或者 AND AL,0F0H
C. 用TEST指令测试DL寄存器的第3位和第6位是否同时为0。 TEST DL,01001000b(若结果ZF=0表示两者同时为0)
3.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如: (4分)
;保护现场
PUSH AX
PUSH BX
PUSH CX
PUSH DX
;恢复现场



试写出恢复现场时的指令序列。
POP DX
POP CX
POP BX
POP AX
1.对于下面的数据定义,各条MOV的指令单独执行后,有关寄存器的内容是什么?(5分)
FLDB DB ?
TAB1 DW 20 DUP(?)
TAB2 DB ‘ABCD’
(A) MOV AX,TYPE FLDB AX=1
(B) MOV AX,TYPE TAB1 AX=2
(C) MOV CX,LENGTH TAB1 CX=20
(D) MOV DX,SIZE TAB1 DX=40
(E) MOV CX,LENGTH TAB2 CX=1
下面程序段执行完后,AL的内容是什么? (5分)
MOV AL,10
ADD AL,AL
SHL AL,1
MOV BL,AL
SHL AL,1
ADD AL,BL
结果AL=0C0H
3试问下面的程序段完成的功能是什么? (5分)
SAL AX,1
RCL DX,1
5.已知程序段:
STRING DB ‘ABCDEFGHIJ’

MOV AH,01 ;从键盘输入字符1~9
INT 21H
AND AL,0FH
DEC AL
XOR AH,AH
MOV BX,OFFSET STRING
ADD BX,AX
MOV DL,[BX]
MOV AH,02H ;显示输出
INT 21H

试回答: (1)上述程序段的功能是什么?
(2)如从键盘输入字符‘4’,程序段有什么结果?(6分)
答:(1)上述程序段功能是从键盘输入一个字符,假定该字符是1-9,则输出STRING中这个数值所对应的字母(1对应A,2对应B……)
(2)输入4则输出D

阅读更多 >>>  vns-al00是华为什么型号

汇编语言程序设计题目

一、改错(只能对每条错误指令的一个操作数进行修改)。(共10分,每小题1分)
1. MOV BX,AL 改正: MOV BX,BX
2. MOV AX, A999H 改正:MOV AX,0A999H
3. MOV AL, 1234 改正:MOV AX,1234
4. MOV AX, [CX] 改正:MOV AX,[BX]
5. MOV DS, 1000H 改正:MOV AX,1000H MOV DS,AX
6. ADD [BX],10 改正: ADD BYTE PTR [BX],10
8. PUSH AH 改正:PUSH AX
9. INC [BP] 改正:INC BYTE PTR [BP]
9. MOV [DI],WORD PTR [SI] 改正:MOV DI,WORD PTR [SI]
10. MUL 10 改正:MOV CX,10 MUL CX
AX是改单片机的累加器或者工作寄存器吗?

汇编语言试题求解答

MOV SI,0024H ;SI=24H
MOV BX, SI ;BX=24H
MOV SI,[SI] ;SI=6F72H
OR SI,0FFH ;SI=6FFFH
AND SI,[BX] ;SI=6F72H
执行上述程序片段后,(SI)=6F72H,(CF)= 0, OF=0;

北大“汇编语言程序设计”上机考试题(9月13)

第2题 参考一下吧 本人不懂
data segment
array db 255
db 0
array1 db 255 dup('$')
array2 db 0dh,0ah,'$'
data ends
code segment 'code'
assume cs:code, ds:data, ss:stack
start: mov ax,data
mov ds,ax
mov ah,0ah ;
mov dx,offset array
int 21h
mov dx,offset array2 ;
mov ah,09h
int 21h
mov bx,offset array1
again: mov al,[bx]
cmp al,'$'
jz done
cmp al,'A' ;
jb next
cmp al,'Z'
ja next
add al,20h ;
mov [bx],al ;
next: inc bx
jmp again
done: mov dx,offset array1
mov ah,09h
int 21h
mov ax,4c00h
int 21h
code ends
end start
data segment
A DB 'please input a string:',13,10,'$'
B DB 33,?,33 dup('$')
C DB 13,10,'please output a string:',13,10,'$'
D DB 50 DUP('$')
ASC DB 13,10,2 DUP(?),13,10,"$"
count=$-D
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
mov cx,32
lea dx,A
mov ah,9
int 21h
lea dx,B
mov ah,10
int 21h
mov si,offset B+2
mov di,offset D
cld
return:
movsb
cmp byte ptr[si],24h
je next1
loop return
next1:
lea dx,C
mov ah,9
int 21h
mov di,offset D
next4:
mov dl,byte ptr[di]
cmp dl,'A'
jb next2
or dl,20h
mov byte ptr[di],dl
next2:
cmp dl,13
jz next3
inc di
jmp next4
next3:
lea dx,D
mov ah,9
int 21h
mov bl,0
mov dl,0
cld
mov si,offset D-1
next5:
lodsb
cmp byte ptr[si],13
jz over1
inc dl
cmp byte ptr[si],'0'
jb next5
cmp byte ptr[si],'9'
ja next5
inc bl
jmp next5
over1:
sub dl,bl
mov al,dl
call TRANSFORM
cld
mov bl,'{'
mov si,offset D-1
next6:
lodsb
cmp al,13
jz over2
cmp al,'z'
ja next6
cmp al,'a'
jb next6
cmp bl,al
jb next6
mov bl,al
jmp next6
over2:
cmp bl,7bh
jnz next7
mov bl,13
next7:
mov dl,bl
mov ah,2
int 21h
mov ah,4ch
int 21h
;************************************************
;子程序名:TRANSFORM
;功能:将八位无符号二进制数转换为十进制数ASCII码
;入口参数:八位二进制数=>AL
; 存放ASCII码值末地址=>BX
;出口参数:在ASC开始的存贮单元中
TRANSFORM PROC NEAR
PUSH DX
PUSH CX
PUSH BX
PUSH AX
MOV BX,OFFSET ASC
ADD BX,3
MOV CX,2
MOV DL,10
AGAIN:MOV AH,0
DIV DL
ADD AH,30H
MOV [BX],AH
DEC BX
LOOP AGAIN
lea dx,asc
mov ah,9
int 21h
POP AX
POP BX
POP CX
POP DX
RET
TRANSFORM ENDP
;************************************************
code ends
end start

阅读更多 >>>  al域名注册,域名已备案可以接入阿里云吗

《汇编语言程序设计》第01章在线测试

1.1 b
1.2 b
1.3 d
1.4 d
1.5 b
2.1 a,b,d
2.2 b,c,d,e
2.3 b
2.4 e
2.5 a,b,c,d
3.1 错
3.2 错
3.3 错
3.4 对
3.5 对 (不是汇编结束,而是程序结束,但是没有返回)

网站数据信息

"汇编语言程序设计试卷,(汇编语言程序设计〉半期试题请求解答"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:汇编语言程序设计试卷,(汇编语言程序设计〉半期试题请求解答的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!