1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng assembler bài 3 GV ths phạm nguyên văn

36 234 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 33,11 MB

Nội dung

GV: Ths Phạm Nguyên Văn  Lệnh        model lựa chọn mô hình nhớ Tiny: Mã DL phối hợp < 64K Small: Mã =5, tiếp sau tên nhãn  Khi sử dụng lệnh nhảy có điều kiện sau thực so sánh phải lưu ý toán hạng phép so sánh có dấu hay không dấu để chọn lệnh cho phù hợp  Vd:       mov ah, al ; al = 128 cmp ah, jge Greater ; ah > không nhảy ??? … Greater: 32  Một     số lệnh nhảy thường dùng: JE, JZ: nhảy JA (nhảy lớn hơn, không dấu), JG (nhảy lớn hơn, có dấu), JB (nhảy nhỏ hơn, không dấu), JL (nhảy nhỏ hơn, có dấu) JAE (nhảy lớn bằng, không dấu), JGE (nhảy lớn bằng, có dấu), JBE (nhảy [...]... 11  Vd: ta có từ kép 32 bit, muốn nạp từ cao vào DX, từ thấp vào AX:  data  val32 dd ?  code  mov ax, val32 ; có từ thấp (error)  mov dx, val32+2 ; có từ cao (error)  Sửa lại:   mov ax, word ptr val32 mov dx, word ptr val32+2 ; AX = 1 234 h ; DX = 5678h 12  LABEL: chèn 1 nhãn và gán cho nó 1 thuộc tính kích cỡ, mà không phân bổ bộ nhớ  VD: khai báo 1 nhãn trước khi val32 gọi val16, và gán thuộc... data val1 dw 1000h val2 db 10,20 ,30 array dw 32 dup(0) array2 dw 5 dup (3 dup(0)) message db ‘File not found’,0 code mov ax,length val1 ; = 1 mov ax,length val2 ; = 1 mov ax,length array; = 32 mov ax,length array2 ;=5 mov ax,length message ;=1 19  Toán  tử SIZE: = length * type của 1 biến intArray dw 32 dup(0) ; SIZE = 64 20  Định nghĩa 1 dãy các hằng và gán giá trị nguyên cho từng hằng Tất cả các... gọi val16, và gán thuộc tính word:  data  val16 label word  val32 dd 1 234 5678h  code  mov ax,val16  mov dx,val32 13  EVEN và EVENDATA: căn thẳng hàng lệnh kế tiếp trong đoạn mã theo offset 16bit đều  Vd: 1 lệnh NOP 1-byte (90h) được chèn vào mã đã biên dịch nơi even xuất hiện Lệnh tiếp theo nằm tại 0006:  0000 mov ax,@data  00 03 mov ds, ax  0005 even ; byte chứa 90h được chèn ở đây  0006... mảng 16bit trả về 2 Kiểu 1 nhãn gần là FFFFh, kiểu 1 nhãn xa là FFFEh 16              data var1 db 20h var2 dw 1000h var3 dd ? var4 db 10,20 ,30 ,40,50 msg db ‘File not found’,0 code L1: mov ax,type var1 ;ax = 0001 mov ax,type var2 ;ax = 0002 mov ax,type var3 ;ax = 0004 mov ax,type var4 ;ax = 0001 mov ax,type msg ;ax = 0001 mov ax,type L1 ;ax = FFFF 17  Toán tử length: đếm số lượng các thành... 0000 str1 db 3 dup(‘X’)  00 03 evendata  0004 array dw 10 dup(0FFFFh) 15  Toán  tử SHORT: thường sử dụng với JMP khi thực hiện nhảy ngắn khoảng ... kép 32 bit, muốn nạp từ cao vào DX, từ thấp vào AX:  data  val32 dd ?  code  mov ax, val32 ; có từ thấp (error)  mov dx, val32+2 ; có từ cao (error)  Sửa lại:   mov ax, word ptr val32 mov... val32 gọi val16, gán thuộc tính word:  data  val16 label word  val32 dd 1 234 5678h  code  mov ax,val16  mov dx,val32 13  EVEN EVENDATA: thẳng hàng lệnh đoạn mã theo offset 16bit  Vd: lệnh... 1000h val2 db 10,20 ,30 array dw 32 dup(0) array2 dw dup (3 dup(0)) message db ‘File not found’,0 code mov ax,length val1 ; = mov ax,length val2 ; = mov ax,length array; = 32 mov ax,length array2

Ngày đăng: 04/12/2015, 03:37

TỪ KHÓA LIÊN QUAN

w