DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
UserName db "Name: $"
CLRF db 10,13,"$"
inputName db 24 dup ("$")
CurYear db "Current Year: $"
inputCurrentYear db 8 dup ("$")
BirYear db "Birth Year: $"
inputBirthYear db 8 dup ("$")
outputName db "Hello, $"
.code
BEGIN:
mov ax,@data
mov ds,ax
mov es,ax
mov al,03h
mov ah, 00h
int 10h
;username input
NameInput:
lea dx,UserName
mov ah, 09h
int 21h
mov inputName,21
lea dx,inputName
mov ah,0ah
int 21h
lea dx,CLRF
mov ah,09h
int 21h
;current year
CurrentYear:
lea dx,CurYear
mov ah,09h
int 21h
mov inputCurrentYear,05
lea dx,inputCurrentYear
mov ah,0ah
int 21h
lea dx,CLRF
mov ah,09h
int 21h
;birth year
BirthYear:
lea dx,BirYear
mov ah,09h
int 21h
mov inputBirthYear,05
lea dx,inputBirthYear
mov ah,0ah
int 21h
lea dx,CLRF
mov ah,09h
int 21h
;subtraction
mov eax, inputCurrentYear
mov ebx ,inputBirthYear
sub eax,ebx
Output:
lea dx, outputName
mov ah,09h
int 21h
lea dx, inputName
mov ah,09h
int 21h
lea dx,CLRF
mov ah,09h
int 21h
mov ah,4ch
int 21h
end BEGIN
我需要帮助输入的诞生和当前的一年,因为我不知道如何将输出转换成十进制值与用户年龄计算器使用汇编语言
数字的“值”将是相同的,无论其表示是十六进制还是二进制还是十进制。你可能想要的东西比“十进制值” –