Danh mục

ASM căn bản

Số trang: 10      Loại file: pdf      Dung lượng: 197.67 KB      Lượt xem: 19      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 4,000 VND Tải xuống file đầy đủ (10 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

- Ch$c năng: Báo cho chương trình d*ch ASM biêt ñe xác lap mot vùngnh2 Ram thích h5p cho chương trình- Cú Pháp: .Model kieuTiny : Code + Data =64kMedium : Code=64k;Data=64k;Data=64k----------------------------------------------------------------------------------
Nội dung trích xuất từ tài liệu:
ASM căn bảnI. C.Trình ASM1. Directive ñi u khi n segment d ng ñơn gi na. .Model- Ch c năng: Báo cho chương trình d ch ASM bi t ñ xác l p m t vùngnh Ram thích h p cho chương trình- Cú Pháp: .Model ki u Tiny : Code + Data -----------------------------------------------------------------------------------D ng thư ng th y c a m t chương trình ASM d ng ñơn gi n:#################################################################.Model ki u.Stack ñ _l n ; Có th k có(m c ñ nh là 1024b byte).Data Khai báo bi n.Code Nhãn_C.Trình: ; Ch khai báo khi khai báo data Mov ax,@data ; Ch khai báo khi khai báo data Mov ds,ax … các l nh ASM ; Tr v Dos Mov ah,4ch Int 21h End Nhãn_C.Trình#################################################################-----------------------------------------------------------------------------------2. Chương Trình ConTên_Chương_trình_con Proc b o v các thanh ghi mà thân chương trình con s phá v .. các l nh RetTên_Chương_trình_con Endp- Cơ ch th c hi n Chương trình con: + b1: tham s th c ñư c ñưa vào stack + b2: ñ a ch l nh ti p theo ñư c ñưa vào stack (2/4 byte) + b3: ñưa ñ a ch chương trình con vào cs:ip + b4: th c hi n chương trình con ñ n khi g p return thì ñưa ñ a ch l y ti p theo ñư c ñưa vào stack trong bư c 2 ñ ñưa vào cs:ip + b5: ti p t c chương trình ch y d-----------------------------------------------------------------------------------3. MacroTên_Macro Macro các_tham_s b o v các thanh ghi mà thân Macro s phá v .. các l nhEndm-----------------------------------------------------------------------------------4. Inline ASM Trong C++- G m 1 t p .cpp liên k t v i m t t p .asm- Yêu c u: M t file d ch có ñuôi .bat ñ liên k t 2 t p dich.bat F:ASMTC30BIN cc -ml -IF:ASMTC30INCLUDE -IF:ASMTC30LIB %1 %2 (chú ý là ph i ñúng ñư ng d n ch a TC30) 2 Các nhãn (chương trình chính, chương trình con) ph i hi u nhau. Mu n v y c n có 2 directive là Public (cho phép) và Extrn (xin phép)- Ví d : Tính a lũy th a n + Vd1: dùng hàm ASM không ñ i T p 1: lt1.cpp #include #include int a,n; extrn int LT(); void main() { clrscr(); couta; coutn; cout Push bp ; C t giá tr BP hi n th i vào stack Mov bp,sp Mov bx,[bp+6] ;bx=a Mov cx,_n Mov ax,1 And cx,cx ; d ng c xét li u n có b ng 0 Jz L2 ; n u n=0 thì nh y ñ n L2 L1: Mul bx Loop L1 L2: Pop bp Ret @LT$qi EndP End+ Vd3: dùng hàm ASM 2 ñ i T p 1: lt3.cpp #include #include extrn int LT(int a,int n); void main() { clrscr(); couta; coutn; coutAx Bx Cx Dx : 3 ch ñ truy nh p (al,ah,ax)Si Di Bp Sp : 1 ch ñNgư i l p trình ch ñư c dùng 7 thanh ghi (tr thanh ghi Sp)-----------------------------------------------------------------------------------c. Thanh ghi con tr l nh 16 bitIp : cho bi t ph n ñ a ch offset c a vùng nh Ram ch a mã máy c achương trình-----------------------------------------------------------------------------------d. 4 Thanh ghi segment 16 bitCs : Code Segment ; cho bi t ph n ñ a ch segmentc a vùng nh Ram ch a mã máy chương trìnhDs : Data Segment ;cho bi t ph n ñ a ch segmentc a vùng nh Ram ch a d li u chương trìnhEs : Extra Segment ;cho bi t ph n ñ a ch segmentc a vùng nh Ram ch a d li u chương trìnhSs : Stack Segment;cho bi t ph n ñ a ch segment c a vùng nh Ram ch a ngăn x p chương trình-----------------------------------------------------------------------------------II. Các l nh hay dùng c a ASM1. Nhóm các l nh di chuy n d li ua. Mov- Ch c năng: DST SRC- Cú Pháp: Mov DST,SRC- Ví D : Mov reg1,reg2 ;(ax,bx) Mov reg,data ;(ax,100) Mov reg,mem ;(bx,value) Mov mem,reg ;(value,cx) Mov mem,data ;(value,-100) Mov seg,reg ;(ds,ax)-----------------------------------------------------------------------------------b. Push- Ch c năng: ðưa n i dung 2 byte c a SRC vào ñ nh Stack- Cú Pháp: Push SRC- Ví d : Push reg mem-----------------------------------------------------------------------------------c. Pop- Ch c năng: ðưa n i dung 2 byte c a ñ nh Stack vào SRC- Cú Pháp: Pop SRC- Ví d : Pop reg Mem-----------------------------------------------------------------------------------d. PushF ...

Tài liệu được xem nhiều: