Thông tin tài liệu:
Chỉ thị RET: Chuyển điều khiển trở về chương trình gọi từ thủ tục bị gọi...
Nội dung trích xuất từ tài liệu:
Hợp ngữ - Chương 2: Các đại chỉ Logic và điều khiển phần 2 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCác chỉ thị gọi thủ tụcChỉ 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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCác chỉ thị gọi thủ tụcChỉ 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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCá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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCá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 .... Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCá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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCá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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅNCá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 Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ...