Számot, vagy karaktert olvastunk be?

Számot, vagy karaktert olvastunk be?
2013-02-27T17:28:41+01:00
2013-02-27T23:51:57+01:00
2022-11-28T09:50:44+01:00
szuperman
Helló mindenki!

Azt kellene eldöntenem egy karakterről ,hogy szám illetve betű e, és e szerint kellene még további dolgokat csinálnom vele. Akárhogy próbálom nem akar össze jönni. Valaki meg tudná mondani mi a baj ezzel a kóddal? Ez akarnám megvalósitani: if(karakter <= '9' && karakter >= '0') {
//szám
}
else{
//betű
}

org 100h jmp main ;-----------------------adatok---------------------------------------------ű udvozlet: db 'Kerem a kodot!', 10, 13, '$' soremeles: db 10, 13, '$' karakterek: db 0, 0, 0, 0, 0, 0 ;-----------------------/adatok-------------------------------------------- main: ;üdvözlő üzenet mov ah, 9 mov dx, udvozlet int 21h ;olvassunk be 6 karaktert mov cx, 6 mov bx, karakterek olvas: mov ah, 1 int 21h mov [bx], al inc bx loop olvas ;értékeljük ki a karektereket mov bx, karakterek mov dx, bx cmp dx, '0' jle szam cmp dx, '9' jge szam ;ha betü volt mov ah, 2 mov dl, 'b' int 21h ;betü vége jmp szam_vege szam: mov ah, 2 mov dl, '9' int 21h szam_vege: int 20h ;program vége
Mutasd a teljes hozzászólást!
Igen, a feltételes ugrások sem jók.

;értékeljük ki a karektereket mov bx, karakterek mov al, [bx] inc bx ; itt BX-et a következő karakterre állítjuk, de most el is hagyható cmp al, '0' jl nem_szam cmp al, '9' jle szam nem_szam: ;ha betü volt mov ah, 2 mov dl, 'b' int 21h ;betü vége jmp szam_vege szam: mov ah, 2 mov dl, '9' int 21h szam_vege: int 20h ;program vége
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd