intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hợp ngữ - Chương 2: Các đại chỉ Logic và điều khiển phần 2

Chia sẻ: Tran Van Dinh | Ngày: | Loại File: PDF | Số trang:12

119
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chỉ thị RET: Chuyển điều khiển trở về chương trình gọi từ thủ tục bị gọi...

Chủ đề:
Lưu

Nội dung Text: Hợp ngữ - Chương 2: Các đại chỉ Logic và điều khiển phần 2

  1. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị gọi thủ tục Chỉ thị CALL và RET • Chỉ thị CALL: Chuyển điều khiển đến thủ tục bị gọi [nhãn] CALL * Cú pháp: * Thực hiện các công việc: - Giảm nội dung SP bởi 2 - Cất nội dung IP vào Stack - Đưa offset thủ tục bị gọi lên IP • Chỉ thị RET: Chuyển điều khiển trở về chương trình gọi từ thủ tục bị gọi * Cú pháp: [nhãn] RET * Thực hiện các công việc: - Lấy giá trị cũ của IP từ Stack nạp cho IP - Tăng nội dung SP bởi 2
  2. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị gọi thủ tục Chỉ thị CALL và RET V í dụ: .CODE BEGIN PROC FAR ;gọi thủ tục B10 CALL B10 ... MOV AX,4CH INT 21H BEGIN ENDP B10 PROC NEAR ;gọi thủ tục C10 CALL C10 .... ;trở về vị trí gọi RET B10 ENDP C10 PROC NEAR .... ;trở về vị trí gọi RET C10 ENDP
  3. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị logic Các chỉ thị logic bao gồm: AND, OR, XOR, TEST và NOT - Chức năng: Xóa hoặc thiết lập các bit để quản lý dữ liệu ASCII cho - các mục đích tính toán số học Cú pháp tổng quát: - [nhãn] Chỉ thị (Thanh ghi/từ nhớ),[Thanh ghi/từ nhớ] * Đặc trưng: - AND: Hai bit tương ứng là 1 thì kết quả là 1, ngược lại kết quả là 0 - OR: Một trong 2 bit (Hoặc cả 2 bit) là 1 thì kết quả là 1, ngược lại kết quả là 0 - XOR: Hai bit tương ứng khác nhau kết quả là 1, ngược lại giống nhau thì kết quả là 0 - TEST: Tương tự AND, nhưng không lưu kết quả - NOT: Kết quả là nghịch đảo của các bit
  4. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị logic Ví dụ 1: AL=1100 0101, BH=0101 1100 • Chỉ thị AND: AND AL,BH ;AL=0100 0100 AND AL,00h ;AL=0000 0000 • Chỉ thị OR: OR BH,AL ;BH=1101 1101 • Chỉ thị XOR: XOR AL,AL ;AL=0000 0000 • Chỉ thị TEST: ;Kiểm tra có bit nào TEST BL,11000000b JNZ ..... ;bên trái không? AL,00000001b ;Có phải AL chứa 1 TEST ;số lẻ JNZ ....
  5. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị logic Ví dụ 2: Viết chương trình đổi chữ thường thành chữ HOA Nhận xét: - Chữ HOA từ A  Z có giá trị ASCII từ 41H 5AH - Chữ thường từ a  z có giá trị ASCII từ 61H  7AH - Sự khác nhau duy nhất: Bit thứ 5 (bằng 0 - chữ HOA và bằng 1 - chữ thường) Ví dụ: Chữ HOA Chữ thường A= 0100 0001 a= 0110 0001 Z= 0101 1010 z= 0111 1010
  6. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị logic Ví dụ 2: Viết chương trình đổi chữ thường thành chữ HOA Phương pháp: - Sử dụng chỉ thị AND để xóa đi bit số 5  AH=0100 0001 AND AH,11011111b - M ã v í dụ: ;nhập ký tự MOV AH,1 INT 21h ;đổi từ thường qua HOA AND AL,11011111b ;in ra màn hình MOV AH,2 MOV DL,AL INT 21h
  7. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị dịch bit Cú pháp: [nhãn] Chỉ thị dịch (Thanh ghi/từ nhớ), (CL) Dịch bit sang phải: 1. Chỉ thỉ SHR: Dịch phải logic, sử dụng bit 0 để làm đầy - Chỉ thị SAR: Dịch phải số học, sử dụng bit dấu để làm đầy - Các bit được định lần lượt đặt vào cờ CF - Sử dụng cho phép chia 2: Dịch phải n bit tương đương chia 2n bit - V í dụ : Chỉ thị SHR Chỉ thị SAR MOV CL,3 MOV CL,3 MOV AL, B7h ;AL=1011 0111 MOV AL,B7h ;AL=1011 0111 SHR AL,1 ;AL=0101 1011 SAR AL,1 ;AL=1101 1011 SHR AL,CL ;AL=0000 1011 SAR AL,CL ;AL=1111 1011
  8. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị dịch bit Cú pháp: [nhãn] Chỉ thị dịch (Thanh ghi/từ nhớ), (CL) 2. Dịch bit sang trái: Chỉ thỉ SHL,SAL: Dịch trái logic, sử dụng bit 0 để làm đầy và hoạt - động như nhau. Các bit được định lần lượt đặt vào cờ CF Sử dụng cho phép nhân 2: Dịch trái n bit tương đương nhân 2n bit - V í dụ : MOV CL,3 MOV AL,B7h ;AL=1011 0111 SHL AL,1 ;AL=0110 1110 SHL AL,CL ;AL=0111 0000
  9. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị quay bit Cú pháp: [nhãn] Chỉ thị quay (Thanh ghi/từ nhớ), (CL) 1. Quay bit sang phải: Chỉ thỉ ROR: Quay logic bit sang phải, bit được địch ra ngoài được - đưa vào cờ CF và được dùng để làm đầy Chỉ thị RCR: Quay số học bit sang phải, bit được dịch ra ngoài được - đưa vào cờ CF và bit cờ CF được dùng làm đầy
  10. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị quay bit Cú pháp: [nhãn] Chỉ thị quay (Thanh ghi/từ nhớ), (CL) 1. Quay bit sang phải: V í dụ 1 : MOV CL,3 MOV BH,B7h ;BH=1011 0111 ROR BH,1 ;BH=1101 1011 ROR BH,CL ;BH=0111 1011 V í dụ 2 : MOV CL,3 MOV BH,B7h ;BH=1011 0111 RCR BH,1 ;BH=0101 1011 (CF=0) ;BH=1101 1011 (CF=1) RCR BH,CL ;BH=1110 1011 (CF=0) ;BH=1111 1011 (CF=1)
  11. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị quay bit Cú pháp: [nhãn] Chỉ thị quay (Thanh ghi/từ nhớ), (CL) 2. Quay bit sang trái: Chỉ thỉ ROL: Quay logic bit sang trái, bit được địch ra ngoài được - đưa vào cờ CF và được dùng để làm đầy Chỉ thị RCL: Quay số học bit sang trái, bit được dịch ra ngoài được - đưa vào cờ CF và bit cờ CF được dùng làm đầy
  12. Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN Các chỉ thị quay bit Cú pháp: [nhãn] Chỉ thị quay (Thanh ghi/từ nhớ), (CL) 2. Quay bit sang trái: V í dụ 1 : MOV CL,3 MOV BH,B7h ;BH=1011 0111 ROL BH,1 ;BH=0110 1111 ROL BH,CL ;BH=0111 0111 V í dụ 2 : MOV CL,3 MOV BH,B7h ;BH=1011 0111 RCL BH,1 ;BH=0110 1110 (CF=0) ;BH=0110 1111 (CF=1) RCL BH,CL ;BH=0111 0101 (CF=0) ;BH=0111 1101 (CF=1)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0