第四章 答案 - 图文 下载本文

10试编写程序, 比较AX, BX, CX中 带符号数的大小,并将最大的数放在AX中。 解: DATAS SEGMENT

DATA1 DW 3456H DATA2 DW 4356H

DATA3 DW 5675H ;此处输入数据段代码 DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX MOV AX,DATA1 CMP AX,DATA2 JG LP1 ;

MOV AX,DATA2

LP1:CMP AX,DATA3 JG LP2

MOV AX,DATA3 LP2:MOV BX,AX MOV AH,4CH INT 21H CODES ENDS END START

14 给出下列等值语句: LPHA EQU 100 BETA EQU 25 GRAMM EQU 4 求出下列表达式的值

5

(1) ALPHA*100+BEAT=10025 (2) (ALPHA+4)*BETA-2=2598 (3) (BETA/3)MOD 5=3 (4) GRAMM OR 3=7

16 阅读下列程序段,说明它实现的功能是什么? 解: 将字符串显示出来!

17 编写一程序段,把BUFFER开始的100个字节的内存区域初始化为55H,AAH,55H,AAH,..........55H,AAH. 解: (1)第一种方法:只用一条语句即可:

BUFFER DB 50 DUP(55H,0AAH)

(2)第二种方法:程序实现法

DATAS SEGMENT

BUFFER dw 50 dup(0)

X DB 11H,22H,33H,44H ;此处输入数据段代码 DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

CLD ;DF=0 目的是DI增序 MOV AX,DATAS MOV DS,AX

MOV ES,AX ;ES和DS属于同一段 MOV CX,50

LEA DI,BUFFER MOV AX,0AA55H REP STOSW MOV AH,4CH INT 21H

6

CODES ENDS

END START

7