Я использую nasm, и я должен выполнить эту программу сборки для класса, который должен получить пароль, сравнить с тем, который хранится в pass
, и написать все, что действительно является паролем или но, по какой-то нечетной причине, при печати cade
он дает мусор вместе со строкой, а когда печатать две другие, он печатает cade
вместо contr
и мусор, поэтому я не совсем уверен, что происходит, и если кто-то может помоги мне, я бы очень признателен.Отпечатано в выводе и неправильных строках
Вот макрос я использую, чтобы вывести строку
%macro inout 2
mov ah,%2
mov dx,%1
int 21h
%endmacro
А вот это программа
[bits 16]
%include "macros2.inc"
[segment .data]
cade: db 'Enter the password',0ah, 0dh,'$'
invalida: db 'wrong password',0ah, 0dh,'$'
valida: db 'valid password',0ah, 0dh,'$'
pass: db '12345$'
band: db 0
contr: resb 10
[segment .code]
..start
mov ax,data
mov dx,ax
inout cade,09h
mov bx,contr
mov ah,09h
mov dx,cade
int 21h
leer:
mov ah,08h
int 21h
cmp al,0dh
je checa
mov [bx],al
inc bx
mov ah,02h
mov dl, "*"
int 21h
jmp leer
checa:
lea di,[contr]
lea si, [pass]
dec si
revisa:
loadsb
inc di
cmp [di],al
jne error
inc bx
inc di
cmp si,'$'
jl revisa
mov ah,09h
mov dx,valida
int 21h
jmp fin
error:
mov ah,09h
mov dx,invalida
int 21h
fin:
mov ah,4ch
int 21h
[bits 16]
%include "macros2.inc"
[segment .data]
cade: db 'Introduzca la contrsena',0ah, 0dh,'$'
invalida: db 'Contraseña no Valida',0ah, 0dh,'$'
valida: db 'Contraseña valida',0ah, 0dh,'$'
pass: db '12345$'
band: db 0
contr: resb 10
[segment .code]
..start
mov ax,data
mov dx,ax
inout cade,09h
mov bx,contr
mov ah,09h
mov dx,cade
int 21h
leer:
mov ah,08h
int 21h
cmp al,0dh
je checa
mov [bx],al
inc bx
mov ah,02h
mov dl, "*"
int 21h
jmp leer
checa:
lea di,[contr]
lea si, [pass]
dec si
revisa:
loadsb
inc di
cmp [di],al
jne error
inc bx
inc di
cmp si,'$'
jl revisa
mov ah,09h
mov dx,valida
int 21h
jmp fin
error:
mov ah,09h
mov dx,invalida
int 21h
fin:
mov ah,4ch
int 21h}
Что такое 'inout cade, 09h'? –
Забыл об этом, я макрос получает строчную метку и intrusciton для использования. – user2308612