dane SEGMENT PUBLIC USE16'DATA'
Podaj db ' Podaj liczbe w zapisie HEX: $'
nowalinia db 10,13,'$'
tmp dw 0
buf db 5, 0, 0, 0, 0, 0, 0 ;bufor 5 znaków [max ilosc][ilosc wpisanych][..wpisane..]
dane ENDS
sts segment STACK USE16 'STACK'
db 1024 dup(0)
sts ENDS
program SEGMENT PUBLIC USE16 'CODE'
assume cs:program, ds:dane, ss:sts
;procedura zwracajaca wartosc znaku w al (wartosc w ax)
Wartosc PROC
cmp al, '0' ; pierwsze wzgledem drugiego
jb ZlyZnak ; al<'0'
cmp al, ':'
ja Litera ; al>=':'
sub al, 48
jmp KoniecWartosc
Litera:
cmp al, 'A' ; pierwsze wzgledem drugiego
jb ZlyZnak ; al<'A'
cmp al, '['
ja LiteraMala ; al>='['
sub al, 55
jmp KoniecWartosc
LiteraMala:
cmp al, 'a' ; pierwsze wzgledem drugiego
jb ZlyZnak ; al<'a'
cmp al, '{'
ja ZlyZnak ; al>='{'
sub al, 87
jmp KoniecWartosc
ZlyZnak:
mov al, 0
KoniecWartosc:
mov ah, 0
ret
Wartosc ENDP
;procedura obliczajaca wartosc wpisana do
Zamiana PROC
mov bh, 0
mov bl, al
mov di, offset buf[bx]
mov al, buf[2] ;al = kod pierwszego znaku bufora
call Wartosc ;w ax jest wartosc znaku pierwszego
shl ax, 12 ;przesuniecie bitow ax o 12 pozycji w lewo
mov tmp, ax ;przeniesienie bitów do tmp
mov al, buf[3] ;al = kod drugiego znaku bufora
call Wartosc ;w ax jest wartosc znaku pierwszego
shl ax, 8 ;przesuniecie bitow ax o 12 pozycji w lewo
or tmp, ax ;wkomponowanie bitów do tmp
mov al, buf[4] ;al = kod drugiego znaku bufora
call Wartosc ;w ax jest wartosc znaku pierwszego
shl ax, 4 ;przesuniecie bitow ax o 12 pozycji w lewo
or tmp, ax ;wkomponowanie bitów do tmp
mov al, buf[5] ;al = kod drugiego znaku bufora
call Wartosc ;w ax jest wartosc znaku pierwszego
or tmp, ax ;wkomponowanie bitów do tmp
ret
Zamiana ENDP
start:
mov dx, seg dane ;ax = segment wszystkich zmiennych
mov ds, dx ;ds = ax
mov ah, 9
mov dx, offset Podaj ;w dx musi by† offset tekstu, (offset nazwa_zmiennej)
int 21h
mov ah, 0Ah
mov dx, offset buf
int 21h ;pobierz tekst do buf
call Zamiana
mov ax, tmp ;w ax wartość przeliczona
mov al, 07h ; czekaj na klawisz
mov ah,0Ch
int 21h
mov ah,4ch
int 21h
program ENDS
end start
Wyszukiwarka
Podobne podstrony:
zamiana z hex na dec 16b
2015 06 23 Dec nr 231 MON 12 Szczecińska DZ odznaka pamiątkowa
2015 06 11 Dec nr 204 MON ŻW Lublin odznaka pamiątkowa
2014 12 23 Dec nr 508 MON 1 BPZ 17 Wlkp BZ odznaki
option force hex style colors
A HEX na ASCII
hex
H P Lovecraft The Other Gods Dec 1920
Nadajnik Ukf 300mW Hex
A Kajt na hex
Kohlmann Evan The AirFrance hijacking (Dec 1994)
2015 05 25 Dec nr 179 MON WCEO nadanie imienia
[PIC] 230V Ceiling Fan Timer 5318?ntimer HEX
WRITE HEX File Format
dekoder bin dec
więcej podobnych podstron