1. Trang chủ
  2. » Công Nghệ Thông Tin

Hợp ngữ - Trương Văn Thắng

45 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 173 KB

Nội dung

Chuyển từ cơ số b sang cơ số thập phân(10)Đổi phần nguyên : chia cho cơ số  kết quả :thương số và dư số. If thương số bằng 0 thì tổ hợp các dư số chính là số cần tìm ngược lại thì tiếp tục chia nũa Đổi phần lẻ: khi nhân 2 số thì được 1 tích  2 phần: phần nguyên và phần lẻ. If phần lẻ bằng 0 kết quả:tổ hợp các phần nguyên ngược lại tiếp tục nhân nữa

Hợp ngữ Khoa Điện tử - Viễn thông Trương Văn Thắng Giới thiệu Các khái niệm hệ thống số Chuyển đổi số Các ghi intel 8088, 8086 1/CÁC HỆ THƠNG SỐ • HỆ 10 0 1 2 3 4 5 10 11 12 13 14 15 A B C D E F HỆ 16 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 HỆ 2/Chuyển đổi số • a/Chuyển từ số b sang số thập phân(10) Ví dụ: chuyển từ số 10 sang số 10 12310 =100+20+3=1X102+2X10+3X100 d d ….d d d ….d n-1 n-2 -1 -m (*) b số d số i 0 1X23+1X21+1X20+1X2-2 * Đổi từ thập lục phân sang thập phân A4B516 10X163+4X162+11X161+5X160 =40960 + 1024 +176 + =42165 b/ Chuyển từ thập phân sang số b ví dụ: chuyển từ thập phân sang thập phân 123.5 (10) 123:10=12 dư 3; 12:10=1 dư 2; 1:10=0 dư 1; 0.5x10=1 lẻ Chuyển từ thập phân sang số b d bn-1+d bn-2+…+d b1+d (***) n-1 n-2 d b-1+d b-2+….+ d b-m -1 -2 -m (****) Đổi phần nguyên : chia cho số  kết :thương số dư số If thương số tổ hợp dư số số cần tìm ngược lại tiếp tục chia nũa Đổi phần lẻ: nhân số tích  phần: phần nguyên phần lẻ If phần lẻ kết quả:tổ hợp phần nguyên ngược lại tiếp tục nhân CÁC VÍ DỤ Đổi số 26 sang số nhị phân 26/2 =13 dư 13/2 =6 dư /2 =3 dư /2 =1 dư 1 /2 = dư 2610 110102 Đổi số 0.25 10sang nhị phân 0.25 x =0.5 lẻ 0.5 nguyên 0.5 x = 1.0 lẻ nguyên 0.2510 0.012 Đổi 27110 sang số thập lục phân 271 / 16 =16 dư 15 16 / 16 = dư /16 = dư 27110  10F16 Đổi nhị nhân sang thập lục phân ngược lại • Nhị phân thành thập lục phân 11001110.110  CD.C • Thập lục phân sang nhị phân 1AF.8  000110101111.1000 16 3/Các ghi CPU 8088(8086) • Trong CPU intel có 14 ghi, chia thành nhóm a/ Nhóm ghi đa năng: ghi, 16bits AX( AH AL) (Accumulato ) BX(BH BL) (Base ) CX(CH CL) (Count ) DX(DH DL) (Data) Chức năng: tính tốn chuyển số liệu • • Vùng nhớ sở chia thành nhiều vùng nhỏ: Bảng vectors ngắt Có loại ngắt: Ngắt BIOS ngắt DOS đặc biết là: Ngắt phần cứng Ngắt phần mềm Bảng vectors ngắt: 1KB từ 03FFh chứa bảng vector ngắt Mỗi vector ngắt chiếm 4byte, 2byte đầu chứa offset 2byte chứa segment đoạn chương trình thực ngắt Ngắt_offset=N*4 Ngắt_segment=N*4+2 Ví dụ: [4]=15h [5]=20h [6]=00 [7]=F0h Địa offset segment đoạn chương trình: F000h:2015h Vùng tham số BIOS • • Các thiết bị máy tính thơng qua CỔNG mà cổng thuộc địa vùng Địa vùng từ 40h:0 40h:xxxx 40h:000040h:6 : Địa RS 232( Ngõ COM) 40h:08h 40h:0eh : địa ngõ Printer(LPT) 40h:1Ah : trỏ đầu bàn phím(keyboard)(int 16h) 40h:1Ch :con trỏ cuối bàn phím(keyboard)(int 9) 40h:1Eh 40h:3Dh : Buffer bàn phím(16 words- 16 ký tự-địa thấp chứa mã ASCII địa cao mã SCAN CODE) 40h:63h : Địa xác định loại card hình (Mono 3B4h, Màn hình Màu 3D4h) Vùng tham số DOS • • Bắt đầu từ địa 50h:0xxxx:xxxx • • • Các (interrupts) ngắt Các thiết bị DOS thông qua tên :COM1; COM2; LTP1; LTP2; CON; ….V.V (IO.SYS) Config.sys (BUFFERS; FILES) Command trước nạp vào tách làm phần: COMMAND1 COMMAND2 -COMMAND1 chứa thành phần: thành phần kiểm tra command2 hay mất, ngắt: INT 24H lỗi Abort, Retry, Ignore; INT 23H CTRL_C; INT 22H kết thúc bình thường - COMMAND2 chức tất lệnh nội trú • Nằm tập tin if có AUTOEXEC.BAT Vùng nhớ mở rộng • • • Vùng có địa từ A0000hđến FFFFFh Có kích thước 384KB Có vùng sau: - A000h:0 buffers video chế độ đồ họa(graphics)cho cardv EGA, VGA * Độ phân giải(vi dụ:800x600) * pixell= bit(ví dụ: 8bits biểu diễn pixel) - B000h:0 buffers video chế độ text(mono) toa độ hình Ký tự= (hàng* 80+ cột) *2 Thuộc tính= (hàng* 80+ cột) *2+1 -B800h:0 buffers video chế độ đồ họa(graphics) cho card CGA -BC00h:0F400h:FFFFh: Dùng cho ROM mở rộng - FE00h:0: Dùng cho ROM BIOS F000h:FA6Eh: bảng ma trận ký tự, Một ký tự ma trận 8x8 Thủ tục(Procedure) • Cấu trúc Procedure Ten_procedure Proc near(far) … … ret ten_procedure • Ví dụ: endp in_chuoi proc near mov ah,09 int 21h ret in_chuoi endp Chương trình model small code org 100h start: jmp main st1 db ‘xin chao $’ in_chuoi proc near mov in_chuoi endp main proc near lea dx,st1 call in_chuoi int 20h … main endp end start Thủ tục(procedure) nhiều tập tin • Public ten_thu_tuc ten_Thu_tuc proc near(far) … …… ten_thu_tuc endp • Public ten_bien ten_bien kichthuoc liệu • Trong chương trình lớn khai báo sau EXTRN TEN_THU_TUC:NEAR(FAR) EXTRN TEN_BIEN :KÍCH THƯỚC(DB; DW; DD) Ví dụ:vidu1.asm • • • • • • • • • • model small code org 100h begin:jmp main1 public st1 st1 db "xin chao cac ban$" main1 proc near main1 endp end begin Ví du 2:vidu2.asm • • • • • • • • • • • • • model small code org 100h begin1:jmp main2 public in_chuoi in_chuoi proc mov ah,09 int 21h ret in_chuoi endp main2 proc near main2 endp end begin1 Ví du 3:vidu3.asm • • • • • • • • • • • • • • • model small code org 100h start:jmp main main proc near extrn st1:byte extrn in_chuoi:near lea dx,st1 call in_chuoi call ketthuc main endp ketthuc proc near int 20h ketthuc endp end start Dịch chương trình • • • • • Tasm vidu1; Tasm vidu2; Tasm vidu3; Tlink /t vidu3+vidu2+vidu1; IC 8255 CONTROL WORD ĐIỀU KHIỂN • Trước hoạt động: A A = 11 CW = 80h(10000000B)  GỞI RA(OUTPUT) PORT A A A 00 0= PORT B A A =01 PORT C A A =10 TRUYỀN QUA NGÕ COM1 ... ….d d d ….d n-1 n-2 -1 -m (*) b số d số i 0 1X23+1X21+1X20+1X 2-2 * Đổi từ... từ thập phân sang số b d bn-1+d bn-2+…+d b1+d (***) n-1 n-2 d b-1+d b-2+….+ d b-m -1 -2 -m (****) Đổi phần nguyên : chia cho số  kết :thương số dư số If thương số tổ hợp dư số số cần tìm ngược.. .Hợp ngữ Khoa Điện tử - Viễn thông Trương Văn Thắng Giới thiệu Các khái niệm hệ thống số Chuyển đổi số Các ghi intel 8088,

Ngày đăng: 11/05/2021, 19:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w