📄 4-24.txt
字号:
4-24题
TITLE 8086 Code Template (for EXE file)
; AUTHOR emu8086
; DATE ?
; VERSION 1.00
; FILE ?.ASM
; 8086 Code Template
; Directive to make EXE output:
#MAKE_EXE#
DSEG SEGMENT 'DATA'
; TODO: add your data here!!!!
BUF DB 89H,67H,59H,78H,90H,55H,72H,48H,88H,78H,77H,67H,79H,69H,73H,89H,66H,68H,62H,61H
PASS DB 0
GOOD DB 0
BAD DB 0
NUM60 DB 60H
NUM80 DB 80H
CHAR1 DB 'BAD=',0AH,0DH,'$'
CHAR2 DB 'PASS=',0AH,0DH,'$'
CHAR3 DB 'GOOD=',0AH,0DH,'$'
CHAR DB 0AH,0DH,'$'
DSEG ENDS
SSEG SEGMENT STACK 'STACK'
DW 100h DUP(?)
SSEG ENDS
CSEG SEGMENT 'CODE'
;*******************************************
START PROC FAR
; Store return address to OS:
PUSH DS
MOV AX, 0
PUSH AX
; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
MOV SI,OFFSET BUF
MOV AL,0
MOV CX,20
LOP1:MOV BL,[SI]
CMP BL,NUM60
JB LOP2
CMP BL,NUM80
JBE LOP3
MOV AL,1
ADD AL,GOOD
DAA
MOV GOOD,AL
INC SI
LOOP LOP1
JMP JUST
LOP2:
MOV AL,1
ADD AL,BAD
DAA
MOV BAD,AL
INC SI
LOOP LOP1
JMP JUST
LOP3:
MOV AL,1
ADD AL,PASS
DAA
MOV PASS,AL
INC SI
LOOP LOP1
JMP JUST
;将结果显示出来
JUST:
MOV DX,OFFSET CHAR1
MOV AH,09H
INT 21H
MOV AL,BAD
MOV CL,4
SHR AL,CL
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
AND BAD,0FH
MOV AL,BAD
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV DX,OFFSET CHAR
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET CHAR2
MOV AH,09H
INT 21H
MOV AL,PASS
MOV CL,4
SHR AL,CL
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
AND PASS,0FH
MOV AL,PASS
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV DX,OFFSET CHAR
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET CHAR3
MOV AH,09H
INT 21H
MOV AL,GOOD
MOV CL,4
SHR AL,CL
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
AND GOOD,0FH
MOV AL,GOOD
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
; TODO: add your code here!!!!
; return to operating system:
RET
START ENDP
;*******************************************
CSEG ENDS
END START ; set entry point.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -