Thứ Ba, 6 tháng 12, 2011

Bài giải đưa ra số nhị phân [lập trình assembly](tham khảo)

Bài tập nhập vào 1 ký tự và in ra số nhị phân tương ứng trong assembly

.model small
.stack 100h
.data
 tb db 'Nhap vao 1 ki tu: $'
 xuat db ?
 kt db 10,13,"Ma ASCII cua <"
 bien db ?
 tt db "> duoi dang nhi phan la: $"
 sobit db 'So bit 1 la: '
 TMP DB ?,'$'
.code
main proc
;khoi tao bien ds
mov ax,@data
mov ds,ax
;xuat hang thong bao
lea dx,tb
mov ah,9
int 21h
;thuc hien nhap 1 ky tu
mov ah,1
int 21h
;LUU TRU
mov xuat,al
mov bien,al
mov bl,al
lea dx,kt
mov ah,9
int 21h
mov al,bl
CMP AL,39H
JG LETTER
AND AL,0FH
JMP SHIFT
LETTER:
SUB AL,37H
SHIFT:
;THUC HIEN CAC HAM TINH
XOR BX,BX ;XOA BX
MOV CX,16
MOV TMP,'0'
OR BL,AL
FOR_:
SHL BX,1
JC DUARA1
MOV AH,2
MOV DL,'0'
INT 21H
jmp end_if
DUARA1:
inc tmp
MOV AH,2
MOV DL,'1'
INT 21H
end_if:
;THUC HIEN VONG LAP
LOOP FOR_
mov ah,2
mov dl,0ah
int 21h
lea dx,sobit
mov ah,9
int 21h
;-------- tra ve dos
mov ah,4ch
int 21h
endp
end main

Bài này mang tính chất tham khảo!

Không có nhận xét nào:

Đăng nhận xét