źתģΪ/ģת2.5֣
94. ֱʺתͬĸתȡڹתĸ
ȶԣֱȡתλ5֣
ġۺ 95. data segment
string1 db 'asdf' ַ趨 string2 db 'asdf' ַ趨 yes db 0DH,0AH,'MATCH!$' NO db 0DH,0AH,'NO MATCH!$' data ends code segment
assume cs:code,ds:data,es:data main proc far mov ax,data mov ds,ax mov es,ax
lea si,string1 lea Di,string2
mov cx,string2-string1 repe cmpsb jne dispno mov ah,9 lea dx,yes int 21h jmp exit dispno: mov ah,9 lea dx,NO int 21h exit: mov ah,4ch int 21h main endp code ends end main
* 𰸽ο,𰸷Ψһ96. STAC SEGMENT STACK DB 200 DUP0 STACK ENDS
13 ҳ 19 ҳ
DATA SEGMENT
X DW 00ABH Y DW C5 Z DW 200 MAX DW DATA ENDS CODE SEGMENT
ASSUME DSDATASSSTACKCSCODE START PROC FAR
MOV AXDATA MOV DSAX
MOV AXX CMP AXY JG L1 MOV AXY CMP AXZ JG EXIT
L2 MOV AXZ
JMP EXIT
L1 CMP AXZ
JLE L2
EXIT MOV MAXAX
* 𰸽ο,𰸷Ψһ97. ֱͨʽ£
MOV DX,303H
MOV AL,10000000H
OUT DX,AL MOV DX,301H
MOV AL,00010000B OUT DX,AL
MOV DX,300H
MOV AL,0H
L1 OUT DX,AL INC AL JNZ L1
MOV AL,0FFH L2: DEC AL OUT DX,AL JNZ L2 JMP L1
14 ҳ 19 ҳ
* 𰸽ο,𰸷Ψһ98. ֱͨʽ£
MOV DX,303H
MOV AL,10000000H
OUT DX,AL MOV DX,301H
MOV AL,00010000B OUT DX,AL
MOV DX,300H
L1 MOV AL,0H
OUT DX,AL
CALL DELAY ʱӳԶʵַ MOV AL,0FFH
OUT DX,AL
CALL DELAY ʱӳԶʵַ JMP L1
* 𰸽ο,𰸷Ψһ
99. ֱͨʽ£
MOV DX,303H
MOV AL,10000000H
OUT DX,AL MOV DX,301H
MOV AL,00010000B OUT DX,AL
MOV DX,300H
MOV AL,0H L1 OUT DX,AL INC AL JMP L1
* 𰸽ο,𰸷Ψһ
100. int 21h
cmp al,'a' jb exit cmp al,'z' ja exit sub al,20h mov dl,al mov ah,2 int 21h
* 𰸽ο,𰸷Ψһ101. DATA SEGMENT
15 ҳ 19 ҳ
X DB ? Y DB DATA ENDS
STACK SEGMENT STACK
DB 200 DUP0 STACK ENDS CODE SEGMENT
ASSUME DSDATASSSTACKCSCODE START PROC FAR MOV AXDATA MOV DSAX CMP X0 JGE A1 MOV Y-1 JMP EXIT A1 JG A2 MOV Y0 JMP EXIT
A2 MOV Y1 EXIT MOV AH4CH INT 21H START ENDP CODE ENDS
END START
* 𰸽ο,𰸷Ψһ102. STACK SEGMENT STACK DB 200 DUP0STACK ENDS DATA SEGMENT
TAB DB 808586717996
DB 835632667884 NO DB 10 ENGLIST DBDATA ENDS CODE SEGMENT
ASSUME DSDATASSSTACKCSCODE BEGIN PROC FAR MOV AXDATA MOV DS AX LEA BXTAB MOV ALNO DEC AL
16 ҳ 19 ҳ

