bermoda_khatar69
پنج شنبه 16 خرداد 1392, 23:32 عصر
سلام
این برنامه یک عدد ثابت رو در مبنای 10 به منبای 16 تبدیل می کنه ولی مشکل من با دستور xlat به کار رفته در این برنامه هست کسی هست کمک کنه بگه این دستور اینجا چه کاری می کنه اصلا کسی هست بگه دستور xlat وظیفش چیه
ممنون می شم کمکم کنید دو روز دیگه امتحان دارم توی وظیفه این دستور موندم
.model small
.stack 64h
.data
buffer db "0123456789abcdef"
num dw 2579d
str db 16 dup(0)
.code
main proc
mov ax,@data
mov ds,ax
mov ax,num
mov si,0
mov bx,16
next1:
mov dx,0
div bx
xchg dx,ax
push bx
lea bx,buffer
xlat
mov str[si],al
xchg dx,ax
pop bx
inc si
cmp ax,0
jne next1
mov cx,si
next2:
dec si
mov dl,str[si]
mov ah,02h
int 21h
loop next2
mov ah,4ch
int 21h
main endp
end main
این برنامه یک عدد ثابت رو در مبنای 10 به منبای 16 تبدیل می کنه ولی مشکل من با دستور xlat به کار رفته در این برنامه هست کسی هست کمک کنه بگه این دستور اینجا چه کاری می کنه اصلا کسی هست بگه دستور xlat وظیفش چیه
ممنون می شم کمکم کنید دو روز دیگه امتحان دارم توی وظیفه این دستور موندم
.model small
.stack 64h
.data
buffer db "0123456789abcdef"
num dw 2579d
str db 16 dup(0)
.code
main proc
mov ax,@data
mov ds,ax
mov ax,num
mov si,0
mov bx,16
next1:
mov dx,0
div bx
xchg dx,ax
push bx
lea bx,buffer
xlat
mov str[si],al
xchg dx,ax
pop bx
inc si
cmp ax,0
jne next1
mov cx,si
next2:
dec si
mov dl,str[si]
mov ah,02h
int 21h
loop next2
mov ah,4ch
int 21h
main endp
end main