第1个回答 推荐于2017-12-15
第一个问题比较简单:
DATA SEGMENT
B1 DB 0FEH
X DB ?
Y DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV BL,B1
MOV AL,BL
AND AL,0FH
MOV X,AL
AND BL,0F0H
MOV CL,4
SHR BL,CL
MOV Y,BL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
第二题嘛方法很多,这里提供两种:
DATA SEGMENT
BUF DB 10,?,10 DUP(?),'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE , DS:DATA
START:
MOV AX , DATA
MOV DS , AX
LEA BX , BUF
MOV DX , BX
MOV AH , 0AH
INT 21H
mov dl , 0ah
mov ah , 02h
int 21h
mov dl , 0dh
mov ah ,02h
int 21h
CMP 3[BUF] , 24H
JZ ANOTHER
CMP 4[BUF] , 24H
JZ ANOTHER
CMP 5[BUF] , '$'
JNZ ANOTHER
ADD BX , 3
MOV AH , 09H
INT 21H
JMP OVER
ANOTHER:
MOV DL , 3[BUF]
MOV AH , 02H
INT 21H
mov dl , 0ah
mov ah , 02h
int 21h
mov dl , 0dh
mov ah ,02h
int 21h
MOV DL , 4[BUF]
MOV AH , 02H
INT 21H
OVER:
MOV AX , 4C00H
INT 21H
CODE ENDS
END START
这里还有一种精简的
.model small
.data
buf db 10 , ? , 10 dup(?) , '$'
.code
.startup
mov dx , offset buf
mov ah , 0ah
int 21h
mov dl , 0ah
mov ah , 02h
int 21h
mov dl , 0dh
mov ah ,02h
int 21h
mov dl , [buf+3]
mov ah , 02h
int 21h
mov dl , 0ah
mov ah , 02h
int 21h
mov dl , 0dh
mov ah ,02h
int 21h
mov dl , [buf+4]
mov ah , 02h
int 21h
.exit 0
end
完了,希望能给你提供帮助!本回答被提问者采纳