例4.8求10个无符号字节数的和
DATA SEGMENT
;此处输入数据段代码
TABLE DB 12H,23H,34H,45H,56H
DB67H,78H,89H,9AH,0FDH
SUM DW ?
DATA ENDS
;
CODE SEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA
START:
;此处输入代码段代码
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEASI,TABLE
MOV CX,10
XOR AX,AX
NEXT:ADD AL,[SI]
ADC AH,0
INC SI
LOOP NEXT
MOV SUM,AX
HLT
CODE ENDS
END START
例4.9判断是否有F8按下,若有则转NEXT
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKS
START:
MOVAX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AH,0
CMP AL,0
JNZ ERROR
CMP AH,42H
JE NEXT
NEXT:
ERROR:
CODES ENDS
END START

例4.10将光标置于0显示页(20,30)位置,并以正常属性打印‘$’
DATAS SEGMENT
;此处输入数据段代码
DATAS END
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKS
START:
MOVAX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AH,2
MOV BH,0
MOV DH,20
MOV DL,30
INT 10H
MOV AH,9
MOV BH,0
MOV BL,7
MOV AL,'$'
MOV CX,1
INT 10H
CODES ENDS
END START
例4.11从键盘输入Y或N字符
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUMECS:CODES,DS:DATAS,SS:STACKS
START:
MOVAX,DATAS
MOV DS,AX
;此处输入代码段代码
KEY:MOVAH,1
INT 21H
CMP AL,'Y'
JE YES
CMP AL,'N'
JE DAT
JMP KEY
YES:
DAT:
CODES ENDS
END START


例4.12从键盘上输入字符串‘hello’,并在串尾加标识符$
DATA SEGMENT
;此处输入数据段代码
STRING DB10,0,10 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
;此处输入代码段代码
LEADX,STRING
MOV AH,0AH
INT 21H
MOVCL,STRING+1
XOR CH,CH
ADD DX,CX
MOV BX,DX
MOV BYTEPTR[BX+2],'$'
MOV AH,4CH
INT 21H
CODE ENDS
END START
结果:
例4.13在屏幕上一次显示1,2,3,A ,B ,C
DATA SEGMENT
;此处输入数据段代码
STR1 DB '123ABC'
DATA ENDS
CODE SEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
;此处输入代码段代码
LEA BX,STR1
MOV CX,6
LPP:MOV AH,2
MOV DL,[BX]
INC BX
INT 21H
LOOP LPP
MOV AH,4CH
INT 21H
CODE ENDS
END START

例4.14在屏幕上显示‘HELLO WORLD!’
DSEG SEGMENT
;