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

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]

物理地址 (AX)=
MOV AX, [BX]

物理地址 (AX)=
MOV AX,[BP+DI]

物理地址 (AX)=
MOV AX, [BX][SI]

物理地址 (AX)=
6.在下列程序段括号中,填入正确的答案。
SEGMENT
BUF DB 12H,56H
DATA ENDS
7.指出下列指令错误原因,填入括号中。
A. MOV AX,BL ;
B. MOV CS,AX ;
C. DEC GAMA[BX] ;
D. MOV ES,5600H ;
E. SUB AX,DS ;
8.下列语句在存贮器中分别为变量分配多少字节?请填入括号中。
VR1 DW ? ;
VR2 DW 4 DUP(?),2;
CONT EQU 10 ;
9.设BX=1200H,SI=0002H,DS=3000H,(31200H)=50H,(31201H)=02H,(31202H)=OF7H,(31203H)=90H请写出下列各条指令单独执行后,有关寄存器及存储单元的内容,若该指令影响标志位,则指出其值。
A. DEC BYTE PTR〔1200H〕 ; 问:(31200)=_ ___H,CF=_ ___
B. SAR BYTE PTR [SI+1200H],1 ; 问:(31202H)=_ ___H,ZF=_ ___
C. MOV AX,WORD PTR〔BX+SI〕 ;问:AX=_ ___H,SF=_ ___
2.每组写一条程序指令,使: (6分)
A. BX寄存器的低四位置1
B. AX寄存器的低四位清0
C. 用TEST指令测试DL寄存器的第3位和第6位是否同时为0。
3.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如: (4分)
;保护现场
PUSH AX

PUSH BX
PUSH CX
PUSH DX
;恢复现场




试写出恢复现场时的指令序列。
1.对于下面的数据定义,各条MOV的指令单独执行后,有关寄存器的内容是什么?(5分)
FLDB DB ?
TAB1 DW 20 DUP(?)
TAB2 DB ‘ABCD’
(A) MOV AX,TYPE FLDB
(B) MOV AX,TYPE TAB1
(C) MOV CX,LENGTH TAB1
(D) MOV DX,SIZE TAB1
(E) MOV CX,LENGTH TAB2
下面程序段执行完后,AL的内容是什么? (5分)
MOV AL,10
ADD AL,AL
SHL AL,1
MOV BL,AL
SHL AL,1
ADD AL,BL
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.设(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
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-12
8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888833333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332222222222222222222222222222200000000000000000000000000000000000000666666666666666666666666666666666666644444444444444444444444444444433333333333333333333333333333333333222222222222222222222222222222222222222222255555555555555555555555555555

...我需要组一份汇编试题请高手给做下。谢谢。时间比较急。
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寄存器...

汇编语言程序设计题求高手
1.编写一个程序实现:在BUF开始的存储区中存放30个带符号数,试统计其正数、负数和零的个数,并将统计的个数分别放到PLUS、NEGATIVE、ZERO单元中。; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code BUF db 23,-69,0,35,46,0,57,68,0,79,81,98,-43,251,21,15,-69,0,5...

汇编语言程序设计题目,在线等答案!!!急!
14.假设变量A存放字节数据是39H, 变量B存放字节数据是36H,试编写程序实现将两个数组合后成为96 H,存放变量C中.;--- MOV AL, A ;取来A AND AL, 00001111B MOV CL, 4 SHR AL, CL ;左移4位.MOV CL, AL MOV AL, B ;取来B AND AL, 00001...

汇编语言程序设计题
编一程序将其中的负数去除后将剩下的正数重新顺序存放在以PLUS开始的数据区中。5、 编写程序段。用串处理指令,比较两个有10个字符的字符串变量CHR1和CHR2,如果两者全不相同则执行子程序OTHER,否则,顺序执行。6、编写汇编语言源程序: 设在字单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存...

我需要 汇编语言程序设计教程,急急!求这个百度网盘资源!阿里嘎多_百度...
汇编语言程序设计教程百度网盘在线观看资源,免费分享给您:https:\/\/pan.baidu.com\/s\/18bWhkCLXtX_3zUmXt5-odg 提取码:1234 汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,并为理解各种软件系统的原理打下技术理论基础;还可掌握...

汇编高手来帮帮忙 谢谢了在线等答案,
五、程序设计题(2道小题,共20分)1、以下5个小题,请分别用一条MASM语句完成其要求。(1)将45H,0F000H,89H存放在变量XYZ的存储单元中。XYZ DB 45H,0F000H,89H (2)预留100个字节单元的存储空间,用变量名BUFFER表示 BUFFER DB 100 DUP(?)(3)将字符串“How are you !

汇编语言问题,高手指点
是需要有经验的程序员才能做得到。指令MOV AL,45H,若用文本编辑器来书写是完全正确的,能够通过编译。在debug下,则肯定出错。错误原因:十六进制数中,最大字母是“F”或“f”,“H”不是十六进制有效字母。更正:MOV AL,45 这样写就对了,这里的45,就是十六进制的,相当于十进制的69。

求分析解答汇编程序!特别要帮我分析一下!谢谢了! 在线等..._百度知...
因为DA1到DA2之间定义了2个字节,所以DA2 = DA1 + 2,所以 R1 = DA2 - DA1 = 2 从DA2到定义R2的时候,中间定义了2个字即4个字节,所以此时的 $ = DA3 + 4 故 R2 = $ - DA3 = 4

求懂汇编语言高手帮忙,急急急,会追加给分,谢谢
data segmentstr1 db ‘source string’str2 db ‘OTHER SPURCE ‘data endscode segment assume cs:code,ds:code,es:code start:mov ax,data mov ds,ax mov es,ax lea si,str1 lea di,str2 cld mov cx,12 repz cmps mov ax,4c00h int 21h code ends end start 2. cmp a,10 jge ...

关于汇编语言,高手来,这个题我会做,但是想问下是否正确
AX依次减CX5次,CX依次是5,4,3,2,1 所以:BUF=AX=50-5-4-3-2-1=35

相似回答