Tổng hợp các lệnh điều khiển hay dùng - Môn Tin học đại cương - Học Viện Kỹ Thuật Mật Mã

LỆNH CƠ BẢN : MOV VÀ XCHG. Mov: [Toán hạng đích], [Toán hạng nguồn]. Tác dụng: Lấy nội dung (giá trị) của [Toán hạng nguồn] đặt vào [Toán hạng đích]. Nội dung của [Toán hạng nguồn] không bị thay đổi. XCHG : chuyển hoán đổi nội dung giữa hai thanh ghi. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!

Môn:
Trường:

Học viện kỹ thuật mật mã 206 tài liệu

Thông tin:
5 trang 2 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Tổng hợp các lệnh điều khiển hay dùng - Môn Tin học đại cương - Học Viện Kỹ Thuật Mật Mã

LỆNH CƠ BẢN : MOV VÀ XCHG. Mov: [Toán hạng đích], [Toán hạng nguồn]. Tác dụng: Lấy nội dung (giá trị) của [Toán hạng nguồn] đặt vào [Toán hạng đích]. Nội dung của [Toán hạng nguồn] không bị thay đổi. XCHG : chuyển hoán đổi nội dung giữa hai thanh ghi. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!

28 14 lượt tải Tải xuống
lOMoARcPSD|4 7892172
CHƯƠNG 1
-Trường tên : chiều dài 1 đến 31 tự thể chứa các tự đặc biệt
Không đc chèn dấu trống vào giữa một tên
Nếu sử dụng dấu chấm phải đứng đầu
-TOÁN TỬ : chức năng thực hiện phép toán dụ : MOV, ADD , SUB
-DỮ LIỆU CHƯƠNG TRÌNH
+ SỐ NHỊ PHÂN : viết như chuỗi bit kết thúc bằng chữ B b dụ 1011b
+ SỐ THẬP PHÂN : keet thúc bằng chữ D d
+ HÓA THỰC :r
+ BÁT PHÂN : q/o
+ THẬP LỤC PHÂN : h
- Toán tử giả biểu diễn
DB đn byte
DW dn word
DD dn từ kép
DQ dn 4 word
DT dn 10 byte
+ LỆNH BẢN : MOV XCHG
Mov : [Toán hạng đích], [Toán hạng nguồn]
Tác dụng: Lấy nội dung (giá trị) của [Toán hạng nguồn] đặt vào [Toán hạng đích]. Nội dung
của [Toán hạng nguồn] không bị thay đổi.
XCHG : chuyển hoán đổi nội dung giữa hai thanh ghi
XCHG đích , nguồn
-Inc Toán hạng đích
-Add Toán hạng đích],[Toán hạng nguồn
-Dec Toán hạng đích
-Sub Toán hạng đích],[Toán hạng nguồn
-Lệnh Inc (Increment): làm tăng giá trị của [Toán hạng đích] lên 1 đơn vị.
-Lệnh Dec (Decrement): làm giảm giá trị của [Toán hạng đích] xuống 1 đơn vị.
-Lệnh Add (Addition): lấy giá trị/nội dung của [Toán hạng nguồn] cộng vào giá trị/nội -
dung của [Toán hạng đích], kết quả này đặt vào lại [Toán hạng đích].
lOMoARcPSD|4 7892172
-Lệnh Sub (Subtract): lấy giá trị/nội dung của [Toán hạng đich] trừ đi giá trị/nội dung của
[Toán hạng nguồn], kết quả này đặt vào lại [Toán hạng đích].
_ NEG dùng đ phủ định nội dung của toán hạng đích. DEC sẽ thay thế nội dung bởi phần
2 của
LỆNH VÀO RA
INT gọi chương trình hoặc ngắt DOS BIOS
Các toán tử số học
Tên mức độ ưu tiên
() 1
+,- 2
*,/ 3
MOD 3
+,- 4
Lệnh LOOP
Loop <Nhãn đích>
Tác dụng: Khi gặp lệnh này chương trình sẽ lặp lại việc thực hiện c lệnh sau <Nhãn lệnh>
đủ n lần, với n được đặt trước trong thanh ghi CX. Sau mỗi lần lặp CX tự động giảm 1 đơn
vị (Cx = Cx 1) lệnh lặp sẽ dừng khi Cx = 0.
L
nh LEA (LoadEffe
cti
veAddress)
pháp:
LEA [Toán hạng đích],[Toán hạng nguồn]
Trong đó: [Toán hạng đích]: các thanh ghi 16 bít. [Toán hạng nguồn]: Là địa ch
của m
t vùng
nhớ hay tên của một biến.
Thao tác qua thanh ghi bộ nhớ
EAX EBP EFLAGS EBX ESP EIP C D ESI EDI ( 32 bit )
CS ES SS FS DS GS ( 16 bit )
L
nh LEA (LoadEffec
ti
veAddress)
pháp:
LEA [Toán hạng đích],[Toán hạng nguồn]
Trong đó: [Toán hạng đích]: các thanh ghi 16 bít. [Toán hạng nguồn]: địa ch
của m
t
vùng nhớ hay tên của một biến.
L
nh Mul Div
lOMoARcPSD|4 7892172
Mul [Toán hạng nguồn]
IMul [Toán hạng nguồn]
Div [Toán hạng nguồn]
IDiv [Toán hạng nguồn]
Tác dụng:
Lệnh Mul (Mul
ti
ply): Thực hi
n phép nhân trên số không dấu. AX=AL*nguồn 8bit.
Nếu nguồn 16bit thì kết quả lưu vào DX AX =AX*nguồn 16bit. Phần thấp AX, phần cao
DX.
Lệnh IMul (Interger Multiply): tương tự như MUL nhưng là số dấu.
L
nh Div (Divide): không dấu. AL=AX chia nguyên nguồn 8bit, AH=AX chia nguồn 8bit.
Nếu là nguồn 16bit: lấy DX AX chia cho nguồn 16bit, thương số chứa trong AX, s trong
DX
Lệnh Idiv (Integer Divide): tương tự lệnh DIV nhưng số dấu.
CHƯƠNG 2
1 THANH GHI CỜ
Thanh ghi cờ 16 bit nhưng không phải toàn bộ 16 bit để biểu diễn giá trị cờ:
-Cờ tràn ( over
fl
ow
fl
ag OF) =1 khi kết quả lớn hơn ch thước địa ch
đích
-Cờ hướng( direction
fl
ag DF) xác định hướng trái phải DF -=0 từ trái đến phải
-Cờ ngắt (interupt
fl
ag IF ) =1 t tin hiệu ngắt xử ngược lại bỏ qua
-Cờ dấu ( sign
fl
ag SF) kết quả hay + phụ thuộc vào giá trị bit ngoài cùng bên trái SF =1giá
trị âm
-Cờ không (zero
fl
ag ZF ) thực hiện kết quả phép toán số học hoặc phép so sánh ZF =1 khi
ch
khi kết quả bằng 0 hoặc phép so sánh kết quả bằng nhau
-Cờ nhớ (Carry
fl
ag CF ) chứa giá tr nhớ (0,1) của MSB sau khi thực hiện phép toán số họckhi
dịch bit hoặc quay thì giá trị của bit vị đẩy ra cuối cùng sẽ lưu lại CF
Cờ nhớ phụ trợ (auxiliary carry
fl
ag AF) chứa giá trị nhớ khi chuyển từ bit trong số 3 lênsố 4
( từ lower đến high)
Cờ chẵn lẻ (parity
fl
ag PF) =0 khi số lượng bit 1 s chẵn
DF, IF, TF 3 cờ điều khiển OF, SF, ZF, CF, AF PF 6 cờ trạng thái
SỰ ẢNH HƯỞNG CỦA CÁC LỆNH ĐẾN CỜ
lOMoARcPSD|4 7892172
ROM: ghi vĩnh viễn vào chip không thể xóa được
EPROM: xóa từ từ bằng tia cực tim được lập trình lại
DRAM: bộ nhớ chính lưu dữ liệu khi chương trình đang chạySRAM:
bộ nhớ đệm tốc độ cao đắt tiền
VRAM: chứa dữ liệu video cổng kép cho phép 1 cổng liên tục làm mới màn hình trong khi
cổng khác ghi dữ liệu lên màn hình
CMOS RAM: bo mạch chủ hệ thống lưu trữ thông tin thiết lập hệ thống
DẤU HIỆU HIỆU CỜ DEBUG
lOMoARcPSD|4 7892172
CHƯƠNG 3 CÁC LỆNH ĐIỀU KHIỂN
Các lệnh nhảy:
Lệnh nhảy không điều kiện
pháp: Jmp <Vị trí đích>
Lệnh nhảy điều kiện dấu
Lệnh JG: Nhảy nếu [Đích] > [Nguồn] ; (SF = 0F ZF = 0)
Lệnh JL: Nhảy nếu [Đích] < [Nguồn] ; (SF <> 0F)
Lệnh JGE: Nhảy nếu [Đích] ≥[Nguồn] ; (SF = 0F)
Lệnh JLE: Nhảy nếu [Đích] ≤[Nguồn] ; (CF <> 0F ZF = 1)
Lệnh nhảy điều kiện không dấu
Lệnh JA: Nhảy nếu [Đích] > [Nguồn] ; (CF = 0 ZF = 0)
Lệnh JB: Nhảy nếu [Đích] < [Nguồn] ; (CF = 0)
Lệnh JNA: Nhảy nếu [Đích] không lớn hơn [Nguồn]; (CF =1 or ZF =1)
Lệnh JNB: Nhảy nếu [Đích] không nhỏ hơn [Nguồn] ; (CF = 0)
Lệnh nhảy dùng chung
Lệnh JC: Nhảy nếu cờ CF = 1
Lệnh JNC: Nhảy nếu cờ CF = 0
Lệnh JZ: Nhảy nếu cờ ZF = 1
Lệnh JNZ: Nhảy nếu cờ ZF = 0
Lệnh JE: Nhảy nếu [Đích] = [Nguồn]; Tương tự JZ; (ZF = 1)
Lệnh JNE: Nhảy nếu [Đích] ≠[Nguồn]; Tương tự JNZ; (ZF = 0)
Các lệnh OR , AND , WHILE , ELSE , FOR ĐÃ HỌC TRONG C
| 1/5

Preview text:

lOMoARcPSD|47892172 CHƯƠNG 1
-Trường tên : chiều dài 1 đến 31 kí tự có thể chứa các kí tự đặc biệt
Không đc chèn dấu trống vào giữa một tên
Nếu sử dụng dấu chấm nó phải đứng đầu
-TOÁN TỬ : chức năng thực hiện phép toán ví dụ : MOV, ADD , SUB
-DỮ LIỆU CHƯƠNG TRÌNH

+ SỐ NHỊ PHÂN : viết như chuỗi bit kết thúc bằng chữ B và b ví dụ 1011b
+ SỐ THẬP PHÂN : keet thúc bằng chữ D d + MÃ HÓA THỰC :r + BÁT PHÂN : q/o + THẬP LỤC PHÂN : h - Toán tử giả biểu diễn DB đn byte DW dn word DD dn từ kép DQ dn 4 word DT dn 10 byte
+ LỆNH CƠ BẢN : MOV VÀ XCHG
Mov : [Toán hạng đích], [Toán hạng nguồn]

Tác dụng: Lấy nội dung (giá trị) của [Toán hạng nguồn] đặt vào [Toán hạng đích]. Nội dung
của [Toán hạng nguồn] không bị thay đổi.
XCHG : chuyển hoán đổi nội dung giữa hai thanh ghi XCHG đích , nguồn -Inc Toán hạng đích -Add
Toán hạng đích],[Toán hạng nguồn
-Dec Toán hạng đích -Sub
Toán hạng đích],[Toán hạng nguồn
-Lệnh Inc (Increment): làm tăng giá trị của [Toán hạng đích] lên 1 đơn vị.
-Lệnh Dec (Decrement): làm giảm giá trị của [Toán hạng đích] xuống 1 đơn vị.
-Lệnh Add (Addition): lấy giá trị/nội dung của [Toán hạng nguồn] cộng vào giá trị/nội -
dung của [Toán hạng đích], kết quả này đặt vào lại [Toán hạng đích]. lOMoARcPSD|47892172
-Lệnh Sub (Subtract): lấy giá trị/nội dung của [Toán hạng đich] trừ đi giá trị/nội dung của
[Toán hạng nguồn], kết quả này đặt vào lại [Toán hạng đích].
_ NEG dùng để phủ định nội dung của toán hạng đích. DEC sẽ thay thế nội dung bởi phần bù 2 của nó LỆNH VÀO RA
INT gọi chương trình hoặc ngắt DOS và BIOS Các toán tử số học Tên
mức độ ưu tiên () 1 +,- 2 *,/ 3 MOD 3 +,- 4 Lệnh LOOP Loop
Tác dụng: Khi gặp lệnh này chương trình sẽ lặp lại việc thực hiện các lệnh sau
đủ n lần, với n được đặt trước trong thanh ghi CX. Sau mỗi lần lặp CX tự động giảm 1 đơn
vị (Cx = Cx – 1) và lệnh lặp sẽ dừng khi Cx = 0.
L nh LEA (LoadEffectiveAddress) Cú pháp:
LEA [Toán hạng đích],[Toán hạng nguồn]
Trong đó: [Toán hạng đích]: Là các thanh ghi 16 bít. [Toán hạng nguồn]: Là địa chị của m t vùng
nhớ hay tên của một biến.
Thao tác qua thanh ghi và bộ nhớ
EAX EBP EFLAGS EBX ESP EIP C D ESI
EDI ( 32 bit ) CS ES SS FS DS GS ( 16 bit )
L nh LEA (LoadEffectiveAddress) Cú pháp:
LEA [Toán hạng đích],[Toán hạng nguồn]
Trong đó: [Toán hạng đích]: Là các thanh ghi 16 bít. [Toán hạng nguồn]: Là địa chị của m t
vùng nhớ hay tên của một biến.
L nh Mul và Div lOMoARcPSD|47892172
Mul [Toán hạng nguồn]
IMul [Toán hạng nguồn]
Div [Toán hạng nguồn]
IDiv [Toán hạng nguồn] Tác dụng:
Lệnh Mul (Multiply): Thực hi n phép nhân trên số không dấu. AX=AL*nguồn 8bit.
Nếu nguồn là 16bit thì kết quả lưu vào DX AX =AX*nguồn 16bit. Phần thấp ở AX, phần cao ở DX.
Lệnh IMul (Interger Multiply): tương tự như MUL nhưng là số có dấu.
L nh Div (Divide): không dấu. AL=AX chia nguyên nguồn 8bit, AH=AX chia dư nguồn 8bit.
Nếu là nguồn 16bit: lấy DX AX chia cho nguồn 16bit, thương số chứa trong AX, số dư trong DX
Lệnh Idiv (Integer Divide): tương tự lệnh DIV nhưng là số có dấu. CHƯƠNG 2 1 THANH GHI CỜ
Thanh ghi cờ 16 bit nhưng không phải toàn bộ 16 bit để biểu diễn giá trị cờ:
-Cờ tràn ( overflow flag OF) =1 khi kết quả lớn hơn kích thước địa chị đích
-Cờ hướng( direction flag DF) xác định hướng trái phải DF -=0 từ trái đến phải
-Cờ ngắt (interupt flag IF ) =1 thì tin hiệu ngắt xử lý ngược lại bỏ qua
-Cờ dấu ( sign flag SF) kết quả là – hay + phụ thuộc vào giá trị bit ngoài cùng bên trái SF =1giá
trị âm
-Cờ không (zero flag ZF ) thực hiện kết quả phép toán số học hoặc phép so sánh ZF =1 khivà

chị khi kết quả bằng 0 hoặc phép so sánh có kết quả bằng nhau
-Cờ nhớ (Carry flag CF ) chứa giá trị nhớ (0,1) của MSB sau khi thực hiện phép toán số họckhi

dịch bit hoặc quay thì giá trị của bit vị đẩy ra cuối cùng sẽ lưu lại CF
Cờ nhớ phụ trợ (auxiliary carry flag AF) chứa giá trị nhớ khi chuyển từ bit có trong số 3 lênsố 4
( từ lower đến high)
Cờ chẵn lẻ (parity flag PF) =0 khi số lượng bit 1 là số chẵn
DF, IF, TF là 3 cờ điều khiển OF, SF, ZF, CF, AF và PF là 6 cờ trạng thái
SỰ ẢNH HƯỞNG CỦA CÁC LỆNH ĐẾN CỜ
lOMoARcPSD|47892172
ROM: ghi vĩnh viễn vào chip không thể xóa được
EPROM: xóa từ từ bằng tia cực tim và được lập trình lại
DRAM: bộ nhớ chính lưu dữ liệu khi chương trình đang chạySRAM:
bộ nhớ đệm tốc độ cao đắt tiền
VRAM: chứa dữ liệu video nó có cổng kép cho phép 1 cổng liên tục làm mới màn hình trong khi

cổng khác ghi dữ liệu lên màn hình
CMOS RAM: bo mạch chủ hệ thống lưu trữ thông tin thiết lập hệ thống

DẤU HIỆU KÝ HIỆU CỜ DEBUG lOMoARcPSD|47892172
CHƯƠNG 3 CÁC LỆNH ĐIỀU KHIỂN Các lệnh nhảy:
Lệnh nhảy không điều kiện Cú pháp: Jmp
Lệnh nhảy có điều kiện có dấu Lệnh JG:
Nhảy nếu [Đích] > [Nguồn] ; (SF = 0F và ZF = 0) Lệnh JL:
Nhảy nếu [Đích] < [Nguồn] ; (SF <> 0F) Lệnh JGE:
Nhảy nếu [Đích] ≥[Nguồn] ; (SF = 0F) Lệnh JLE:
Nhảy nếu [Đích] ≤[Nguồn] ; (CF <> 0F và ZF = 1)
Lệnh nhảy có điều kiện không dấu Lệnh JA:
Nhảy nếu [Đích] > [Nguồn] ; (CF = 0 và ZF = 0) Lệnh JB:
Nhảy nếu [Đích] < [Nguồn] ; (CF = 0) Lệnh JNA:
Nhảy nếu [Đích] không lớn hơn [Nguồn]; (CF =1 or ZF =1) Lệnh JNB:
Nhảy nếu [Đích] không nhỏ hơn [Nguồn] ; (CF = 0)
Lệnh nhảy dùng chung Lệnh JC:
Nhảy nếu cờ CF = 1
Lệnh JNC: Nhảy nếu cờ CF = 0 Lệnh JZ:
Nhảy nếu cờ ZF = 1
Lệnh JNZ: Nhảy nếu cờ ZF = 0 Lệnh JE:
Nhảy nếu [Đích] = [Nguồn]; Tương tự JZ; (ZF = 1) Lệnh JNE:
Nhảy nếu [Đích] ≠[Nguồn]; Tương tự JNZ; (ZF = 0)
Các lệnh OR , AND , WHILE , ELSE , FOR ĐÃ HỌC TRONG C