当前位置:首页 > 下半年汇编语言第二次作业
下半年汇编语言第二次作业 1-8 每个5分
1:试按下列要求在数据段中依次书写各数据定义语句:
(1)以DA1为首字节的连续存储单元中存放20H个重复的数据序列:2,3,10个4,一个7
(2)DA2为字符串变量,用字变量(DW)设置一字符串:‘STUDENTS’(按此 顺序存放在各单元中)
2、VAR DB 2 DUP ( 1 , 2 , 2 , DUP ( 3 ) , 2 DUP ( 1 ) ) 在VAR 存储区前5个单元的数据是多少? 3、执行下列程序段后,(AX)=? ARRAY DW 10 DUP (2) XOR AX ,AX
MOV CX,LENGTH ARRAY
MOV SI,SIZE ARRAY-TYPE ARRAY NEXT:ADD AX,ARRAY[SI]
SUB SI,TYPE ARRAY LOOP NEXT 4:现有如下程序段: DATA SEGMENT
ORG 0020H DA1 DW 12H,23H DA2 DB 11H,21H DA3 EQU 1234H DA4 EQU $-DA2 DA5 DB 31H,32H DATA ENDS
(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少? 5、设一程序段定义如下: ORG 0024H
AR1 DW 4, 5, $+4 ……
MOV AX , AR1+4 执行后AX=? 6、程序的功能
BEGIN: MOV AH,1
INT 21H CMP AL,’a’ JB stop cmp al,’z’ JA STOP SUB AL,20H MOV DL,AL MOV AH,2
INT 21H
JMP BEGIN RET
7:分析下列程序段,回答指定问题: XOR AL,AL CALL SUBS MOV BL,AL CALL SUBS RCR AL,1 HLT
SUBS :PROC NEAR NOT AL
JS NEXT STC NEXT:RET SUBS ENDP
程序运行后AL=? BL=?
AL=80H BL=0FFH
8:分析下列程序段,回答指定问题: 10A3H:2000H XOR AL,AL
2002H MOV AX,CS 2004H MOV SS,AX 2006H MOV SP,2F00H 2009H MOV DX,2012H 200CH PUSH DX 200DH CALL 2700H 2010H ADD CX,DX 2012H HLT 10A3H:2700H POP CX
RET 执行后: (AX)=?(SP)=?
(DX)=?(CX)=? ZF=?
AX=10A3H SP=2F00H DX=2012H CX=2010H
9、用其它指令完成和下列指令相同的功能(10分) (1)REP MOVSB (2)REP LODSB (3)REP STOSB (4)REPE SCASB
ZF=1 NEXT :MOV DL,[SI]
MOV [DI],DL
INC SI (DEC SI) INC DI(DEC DI) LOOP NEXT
NEXT:MOV AL,[SI]
INC SI(DEC) LOOP NEXT 共50分
1、写一个把字符串中的所有大写字母改为小写字母.设字符串以0 结尾.
2、编写一程序段,在CHAR为首址的26个字节单元中依次存放字母‘A’~’Z’
3、编一程序在以BUF为首址的字节单元中存放了COUNT个无符号数,找出其中最大数送MAX单元。 4、(BCD1)=1234,(BCD2)=4612
试写出指令完成(BCD3) (BCD1)-(BCD2)
5、设有一字符串已存放在STRBUF为首址的数据区中,编一程序找出其中的‘ ·’字符,并将其存放地址送ADRBUF单元中。
共分享92篇相关文档