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