Chương 6 NHÓM LỆNH CHUYỂN DỮ LiỆU... MOV BX, offset Bangkytu ;lấy địa chỉ bảng dữ liệuXLAT ;AL chứakítự ‘A’... Lệnh OUT• Dạng lệnh : OUT immed8,accum OUT DX,accum • Giải thích : [cổng I
Trang 1Chương 6 NHÓM LỆNH CHUYỂN DỮ LiỆU
Trang 3Lệnh MOV
• MOV reg, reg
• MOV reg, mem
• MOV reg, const
• MOV mem, reg
• MOV mem, const
Đích và nguồn phải cùng kích thước
Trang 10MOV BX, offset Bangkytu ;lấy địa chỉ bảng dữ liệu
XLAT ;AL chứakítự ‘A’
Trang 13Lệnh OUT
• Dạng lệnh :
OUT immed8,accum OUT DX,accum
• Giải thích : [cổng IO] ← thanh ghi tích lũy
Xuất dữ liệu từ thanh ghi bộ tích lũy AL hoặc AX ra cổng xuất nhập có địa chỉ 8 bit là số tức thời immed8 hay có địa chỉ 16 bit trong thanh ghi DX
Trang 14Lệnh OUT (t.t)
OUT 20h,AL
MOV DX,2F8h
OUT DX,AL
Trang 16Bài tập
1 Nhập đoạn chương trình trong Debug hoán đổi nội
dung hai vùng nhớ gồm 5 byte Vùng nhớ thứ nhất ởđịa chỉ DS:100h, vùng nhớ thứ hai ở địa chỉ DS:120h
2 Viết chương trình hoàn chỉnh dạng COM hoặc EXE
cho phép nhập một chuỗi gồm đúng 5 ký tự In ra
màn hình chuỗi này theo thứ tự đảo ngược
3 Viết chương trình hoàn chỉnh dạng COM hoặc EXE
cho phép nhập một chuỗi từ bàn phím với số lượng
ký tự tùy ý không vượt quá 15 In ra màn hình chuỗinày và cho biết số ký tự thực sự nhập ở dạng số Hex
Trang 19• mov dx,offset ketqua
• moinhap db "Nhap vao chuoi gom 5 ki tu: $"
• ketqua db 13,10,"Chuoi sau khi dao: $"
• end start
Trang 21• ;dang EXE
• model small
• data
• chuoi db 16,?,17 DUP('$')
• moinhap db "Nhap vao chuoi toi da 15 ki tu: $"
• ketqua db 13,10,"Chuoi vua nhap: $"
• soluong db 13,10,"So luong ki tu(he 16): $"
Trang 22• mov dx, offset moinhap
Trang 23• mov dx,offset soluong
• ;tinh so ki tu
• mov bx,offset bang
• mov al,[chuoi+1] ; lay so ki tu vua nhap
• xlat ; tra trong bang de doi sang ma ASCII