Kiến trúc máy tính PHẦN II HỢP NGỮ - Chương 6 NHÓM LỆNH CHUYỂN DỮ LIỆU - Pdf 21

Chương6
NHÓM LỆNH CHUYỂN DỮ LiỆU
Lệnhchuyểndữliệu
• MOV
• XCHG
• PUSH
• POP
• XLAT
• LEA
• LAHF
• SAHF
• PUSHF
• POPF
• IN
• OUT
LệnhMOV
• MOV reg, reg
• MOV reg, mem
• MOV reg, const
• MOV mem, reg
• MOV mem, const
MOV đích, nguồn ; đích ß nguồn
Đíchvànguồnphảicùngkíchthước
LệnhXCHG, PUSH, POP
XCHG
XCHG
đ
đ
í
í
ch

á
nh
nh


ng
ng
;
;
đư
đư
a
a
to
to
á
á
n
n
h
h


ng
ng
lên
lên
đ
đ


tr


trên
trên
đ
đ


nh
nh
stack
stack
(16bit)
(16bit)
(16bit)
PUSH
PUSH
POP
POP
Vídụ1
•Chobiếtnộidung cácthanhghiAX,BX,CX
saukhithựchiện đoạnchươngtrìnhsau:
MOVAX, 05ABh
MOVBX,1
XCHGBH,BL
MOVCX,BX
XCHGAL, CL
AX = ?BX= ?CX = ?
Vídụ1 (t.t)

POPCX
; AX: 05 A0
; 05A0 à stack
05A0
; AX: A0 05
; A005 à stack
A005
; BX: A0 05
; CX: 05 A0
LệnhXLAT
• Translate
– •“Dịch”giátrị trong AL thành giátrị mớitrong
bảngtạivịtríxác định theo độ dờibằng AL
– • Ứng dụng để chuyển đổisốliệu
• Cúpháp: XLAT
– •‘Input’:
• •BX chứa địachỉ bảng dữ liệu
• •AL chứabyte cần đổi
– •‘Output’:
• •AL chứagiátrị tìm thấytrongbảng tại địachỉ BX+AL
LệnhXLAT(t.t.)
• Vídụ đổisốthập phân <16 ra kítựHEXA
• •Khai báo bảng kítự
Bangkytu DB ‘0123456789ABCDEF’
• •Thựchiện:
MOV AL, 10 ;Nhậpsốcần đổivàoAL vídụ=10
;thựchiện đổi:
MOV BX, offset Bangkytu ;lấy địachỉ bảng dữ liệu
XLAT ;AL chứakítự ‘A’
LệnhIN

OUT DX,AL
LệnhLEA
• Dạng lệnh : LEA reg16,mem
• Giải thích : thđ ← địa chỉ
• Nạp địa chỉ hiệu dụng vào thanh ghi 16 bit.
• Vídụ:
LEA BX,[1000h] ; BX ← 1000h
LEA SI,[DI][BX][2000h] ; SI ← DI+BX+2000h
Bàitập
1.Nhập đoạnchươngtrìnhtrongDebug hoán đổinội
dung haivùngnhớ gồm5 byte. Vùngnhớ thứ nhất ở
địachỉ DS:100h, vùngnhớ thứ hai ởđịachỉ DS:120h
2.ViếtchươngtrìnhhoànchỉnhdạngCOM hoặcEXE
chophépnhậpmộtchuỗigồmđúng5 kýtự. In ra
mànhìnhchuỗinàytheothứ tựđảongược.
3.ViếtchươngtrìnhhoànchỉnhdạngCOM hoặcEXE
chophépnhậpmộtchuỗitừbànphímvớisốlượng
kýtựtùyý khôngvượtquá15. In ramànhìnhchuỗi
nàyvàchobiếtsốkýtựthựcsựnhập ở dạngsốHex.
• ;dang COM
• .model tiny
• .code
• org 100h
• start:
• movdx, offset moinhap
• movah,9
• int21h
• ;nhapchuoi
• movdx, offset chuoi
• movah,0ah

• movax,wordptr[100h]
• movbx,wordptr[120h]
• xchgax,wordptr[120h]
• xchgbx,wordptr[100h]
• ;dang EXE
• .model small
• .data
• chuoidb 16,?,17 DUP('$')
• moinhapdb "Nhapvaochuoitoida15 kitu: $"
• ketquadb 13,10,"Chuoi vuanhap: $"
• soluongdb 13,10,"So luongkitu(he16): $"
• bang db "0123456789ABCDEF"

• .code
• main:
• movax,@data
• movds,ax
• movdx, offset moinhap
• movah,9
• int21h
• ;nhapchuoi
• movdx, offset chuoi
• movah,0ah
• int21h
• ;
• movdx,offsetketqua
• movah,9
• int21h
• ;in chuoi
• movdx,offsetchuoi+2


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status