微机原理课后练习题答案(4)

2019-04-13 20:44

MOV DAT2,BL MOV AL,BL LP3: LOOP LP1 MOV AH,4CH INT 21H

CODE ENDS

END START

9.填空说明在下列程序段执行过程中相应寄存器中的值。假设程序执行前DS=3000H,SS=2000H,SP=3000H,AX=4567H,BX1234H,CX=6789H。

AND BX,00FFH CALL MYSUB

NOP;SP= 3000H ;AX= 0034H ;BX= 4567H HLT MYSUB PROC

PUSH AX PUSH BX PUSH CX

SUB AX,BX ;SP= 2FF8H POP CX POP AX POP BX

NOP ;SP= 2FFEH RET

MYSUB ENDP

10.完善程序。BUFFER单元开始放置一个数据块,BUFFER单元存放预计数据块的长度为20H,BUFFER+1单元存放的是实际从键盘输入的字符串的长度,从BUFFER+2开始存放的是从键盘接收的字符,请将这些从键盘接收的字符在屏幕上显示出来。

MOV DX,OFFSET BUFFER MOV AH, 10 INT 21H ;读入的字符串 LEA DX, BUFFER+1 MOV AL, [DX] ;实际读入的字符申的字符个数 MOV AH, 0 ADD BX, AX MOV AL, ‘$’ MOV[BX+1],AL MOV AH, 9 INC DX ;确定显示字符串的首址 INT 2IH

MOV AH, 4CH ;系统返回DOS INT 2IH

三、问答题

1.变量和标号有哪些属性?它们的区别是什么?

答:变量和标号有段属性、偏移属性和类别属性,区别在于类别属性,变量的为字节、字、双字等,标号的为NEAR和FAR属性。 2.指出下列伪指令语句中的错误:

(1) DATA DB 395 (2) PRGM SEG

?

PRGM ENDS

(3) ALPHA EQU BETA (4〕 COUNT EQU 100 COUNT EQU 65

(5)GOON DW 10 DUP(?)

?

JMP GOON 答:(1)字节变量,范围在0~255 (2)伪指令错误,应为SEGMENT (3)BETA需先定义后使用 (4)EQU不能重复定义同一个变量,否则需先撤销 (5)GOON为数据变量,不能作为跳转的位置 3.一数据段如下:

DATA SEGMENT PARA ‘DATA’ AT 46H QA EQU 255

QA1= QA GT 3000 QA2= 0FFFH

QA3 EQU QA2 XOR 255

QA4= 88 MOD 5 QA5= 88H SHR 2

QA6 EQU QA3/16+ 15 ORG 1060H

G1 DB 32,QA,98/2,NOT 25 G2 DW 0FF6H,OFFSET G2 G3 DW 3 DUP(5) G4 DW SEG G1 SA EQU LENGTH G3 SB EQU SIZE G3 SC= TYPE G3 ORG 1200H

F1 EQU THTS WORD F2 DB 11H,22H,33H,44H FF DD 12345H DATA ENDS

(1)写出每个符号所对应的值。 (2)画出内存分配图。

(3)执行下列指今后,对应的寄存器的值为多少? MOV AX, WORD PTR FF AND AX,0FFH

MOV BX,WORD PTR G1 MOV BX,255 AND 0FH ADD AX, OFFSET F2 MOV BX,F1 (1)QA=255;QA1=0;QA2=0FFFH;QA3=0F00H;QA4=3;QA5=22H;QA6=10FH;SA=3;SB=6;SC=2 F1的偏移地址是1200H,类型为字 (2) DS:1060H G1 20H FFH 31H DS:106EH G4 ?? 46H 00H ?? DS:1064H DS:1068H G2 G3 E6H F6H 0FH 64H 10H 05H 00H 05H 00H 05H 00H DS:1200H DS:1204H F2 FF 11H 22H 33H 44H 45H 23H 01H 00H (3)AX=2345H BX=0FF20H BX=000FH AX=1245H BX=2211H 4.以下程序的执行结果是 A DB ‘1234’

B DW 5DUP(2,3DUP(0)) C DW ‘AB’, ‘C’,‘D’

L1: MOV AL, TYPE B MOV BL,LENGTH B MOV AH, SIZE A MOV BH,SIZE C

MOV CL,TYPE L1 MOV CH,SIZE B 答:AX=0102H BX=0205H CX=0AFFH 5.有下列数据段,写出数据段中MAX、VAL1、VAL2、LEND符号所对应的值。 DATA SEGMENT MAX EQU 0FFFH

VAL1 EQU MAX MOD 10H VAL2 EQU VAL1*2 BUFF DB 1,2,3,‘123’ EBUFF DB ?

LEND EQU EBUFF-BUFF DATA ENDS 答:MAX=0FFFH VAL1=0FH VAL2=1EH LEND=6 6.现有程序如下: DATA SEGMENT A DB 23 B DB 0F0H C DB 0

DATA ENDS

CODE SEGMENT

ASSUNE CS:CODE,DS:DATA START:MOV AX,DATA MOV DS, AX MOV AL,A CMP AL,B JZ L JG M

MOV C,- 1 JMP EXIT

L: MOV C,0 JMP EXIT N: MOV C,1

EXIT: MOV AH, 4CH INT 21H CODE ENDS END START 请回答:(1)该程序完成什么功能 ?(2)程序运行完后,C中的内容是什么 ? (1)比较两个数的大小,当A=B时,C=0;当A>B时,C=1;当A

答:DATAS SEGMENT X DW 1234H Y DW 5678H Z DW ? DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV BX,Y NEG BX MOV AX,X SUB AX,BX TEST AX,80H JZ L1 NEG AX L1: MOV Z,AX MOV AH,4CH INT 21H CODES ENDS END START 8.阅读下列程序,回答下列问题:

(1)程序执行后,RESULT单元的内容为多少? (2)程序完成的功能是什么,

(3)该程序所占的数据区为多少个字节? DATA SEGMENT

FEN DB 85,-90,64,-120,95,77,88,120,60,83 COUNT EQU$-FEN RESULT DB? DA7A ENDS

STACK SEGMENT PARA STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT

ASSUME CS:CODE,DATA:DATA,SS:STACK START:MOV AX,DA7A MOV DS,AX

MOV SI,OFFSE7 FEN MOV CX,COUNT

DEC CX MOV AL,[SI] MOV RESULT,AL TEST AL,80H JZ LOOP NEG AL LOP: INC SI


微机原理课后练习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:剪力墙模板计算书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: