四、程序阅读题(4道小题,共20分)
1、数据段有如下定义的变量:
var word
3721h
说明代码段如下指令执行后目的操作数的结果,并指出其源操作数的寻址方式
mov bx, var ; BX= (1)
,源操作数的寻址方式是 (2)
mov cx, bx ; CX= (3)
,源操作数的寻址方式是 (4)
(5分)
2、下列程序执行后,SI= (1) ,DI= (2) 。
mov bx,0100h
mov
si,0210h
lea di,[bx+si]
(5分)
3、下面程序片段将数组ARRAY1的每个元素加500,转存在数组ARRAY2。填空补充完整:
;
数据段
array1 dw 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
array2 dw 10 dup(? )
; 代码段
mov cx, lengthof
array1
mov bx,0
again: mov
ax,array1[bx]
add ax,500
mov (1)
add bx, (2)
loop
again
(5分)
4、如下程序片段判断AL中的字符是否是小写字母。如果是则转换为大写字母,否则不变,请填写空白,将程序片段补充完整:
cmp
al,(1)
jb done
cmp al,ˊzˊ
(2)
sub al,20h
done:
(5分)
五、程序设计题(2道小题,共20分)
1、以下5个小题,请分别用一条MASM语句完成其要求。
(1)将45H,0F000H,89H存放在变量XYZ的存储单元中。
(2)预留100个字节单元的存储空间,用变量名BUFFER表示
(3)将字符串“How are you !”存入变量fourmsg
(4)将CX减1
(5)取字符串变量MSG的首地址送BX
(10分)
请将你解答本题所写的源程序粘贴到下面
2、使用MASM汇编语言编写一个程序片段,统计以0结尾的字符串包含的字符个数(不包括结尾字符0),结果保存在AX寄存器。
假设数据段已经如下定义了该字符串:
string db ˊEverything is Possible.ˊ,0
(10分)
请将你解答本题所写的源程序粘贴到下面
还有啊 大哥也帮做做 谢谢了
追答太多了。
另外,还有不会的,做不出来。
应该分成小题来提问。
你尽量做会做了 麻烦了 我这网上考试了 谢谢了 帮帮忙 大哥
追答2、使用MASM汇编语言编写一个程序片段,
统计以0结尾的字符串包含的字符个数(不包括结尾字符0),
结果保存在AX寄存器。
假设数据段已经如下定义了该字符串:
string db ˊEverything is Possible.ˊ,0
(10分)
程序片段:
MOV AX, 0
LEA BX, string
LP1:
CMP BYTE PTR [BX], 0
JZ FINISH
INC AX
INC BX
JMP LP1
FINISH:
END
================================================
3、下面程序片段将数组ARRAY1的每个元素加500,
转存在数组ARRAY2。填空补充完整:
;
;数据段
array1 dw 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
array2 dw 10 dup(? )
;代码段
mov cx, lengthof array1
mov bx, 0
again: mov ax, array1[bx]
add ax, 500
mov ___array2[bx]___-----(1)
add bx, ___2___----------(2)
loop
again
(5分)
4、如下程序片段判断AL中的字符是否是小写字母。如果是则转换为大写字母,
否则不变,请填写空白,将程序片段补充完整:
cmp al, __ 'a'___ --------------(1)
jb done
cmp al, ˊzˊ
____ja done_____ --------------(2)
sub al, 20h
done: