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
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 ...
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ìm kiếm theo từ khóa liên quan:
Hợp ngữ ASM Assembly chương trình lập trình kỹ thuật phần mềm lập trình căn bản kỹ thuật máy tính mẹo lập trìnhTài liệu liên quan:
-
64 trang 265 0 0
-
114 trang 243 2 0
-
80 trang 222 0 0
-
Thủ thuật giúp giải phóng dung lượng ổ cứng
4 trang 217 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 208 0 0 -
Báo cáo nghiên cứu khoa học: Xây dựng ứng dụng quản lý sinh viên trên thiết bị di động
36 trang 141 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 134 0 0 -
142 trang 130 0 0
-
Giáo trình môn xử lý tín hiệu số - Chương 5
12 trang 121 0 0 -
124 trang 113 3 0