Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 133 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
133
Dung lượng
1,77 MB
Nội dung
BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN TRƢỜNG CAO ĐẲNG CƠ ĐIỆN XÂY DỰNG VIỆT XÔ KHOA CÔNG NGHỆ THƠNG TIN VÀ NGOẠI NGỮ GIÁO TRÌNH MƠN HỌC: CẤU TRÚC MÁY TÍNH NGHỀ: TIN HỌC VĂP PHỊNG TRÌNH ĐỘ: CAO ĐẲNG TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin đƣợc phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm MÃ TÀI LIỆU: MH09 LỜI GIỚI THIỆU Chìa khóa để hƣớng tới xã hội thơng tin phát triển công nghệ thông tin (CNTT), nhiên để phát triển CNTT lâu dài bền vững, đào tạo kiến thức nhất, mà nội dung đào tạo phải trang bị sinh viên kiến thức tảng, sở tạo cho sinh viên phát huy tính sáng tạo, chủ động việc tiếp thu nghiên cứu, ứng dụng CNTT Do đó, trƣờng đào tạo, sinh viên phải đƣợc trang bị kiến thức tảng CNTT thể thiếu mơn học Cấu trúc máy tính Hiện có nhiều giáo trình cấu trúc máy tính, nhiên hầu hết giáo trình đáp ứng đối tƣợng sinh viên đại học Giáo trình viết chủ yếu cho đối tƣợng sinh viên trƣờng dạy nghề Giáo trình cung cấp cho sinh viên kiến thức cấu trúc máy tính, tổ chức hoạt động vi xử lý, thành phần phần hệ thống máy tính biện pháp kĩ thuật Cấu trúc máy tính mơn học sở để sinh viên thực hành bảo trì hệ thống máy tính Giáo trình bao gồm chƣơng: Chƣơng 1: Tổng quan cấu trúc máy tính Chƣơng 2: Kiến trúc tập lệnh máy tính Chƣơng 3: Bộ xử lý Chƣơng 4: Bộ nhớ Chƣơng 5: Thiết bị nhớ ngồi Chƣơng 6: Bảng mạch Chƣơng 7: Các loại bus Chƣơng 8: Ngôn ngữ Assembly Trong chƣơng có giới thiệu mục tiêu, nội dung câu hỏi tập Giáo trình xem nguồn tài liệu cung cấp thông tin cho giáo viên giảng dạy, đồng thời tài liệu học tập cho sinh viên Vì thời gian có hạn lần giáo trình đƣợc soạn thảo nên khơng thể tránh khỏi thiếu sót Rất mong nhận ý kiến đóng góp bạn đọc Ninh Bình, ngày tháng năm 2018 Tham gia biên soạn Chủ biên Phạm Anh Đức MỤC LỤC LỜI GIỚI THIỆU MỤC LỤC CHƢƠNG 1:TỔNG QUAN VỀ CẤU TRÚC MÁY TÍNH 1.Các mốc lịch sử phát triển công nghệ máy tính 2.Thơng tin mã hóa thơng tin 12 2.1 Khái niệm thông tin lƣợng thông tin 12 2.2 Sự mã hóa thơng tin 14 Đặc điểm hệ máy tính điện tử 22 3.1 Thế hệ thứ nhất: (1945-1955) 22 3.2 Thế hệ thứ hai: (1955-1965) 23 3.3 Thế hệ thứ ba: (1965-1980) 23 3.4 Thế hệ thứ tƣ: (1980- ) 23 Kiến trúc tổ chức máy tính 24 4.1 Khái niệm kiến trúc máy tính 24 4.2 Khái niệm tổ chức máy tính 25 Các mơ hình kiến trúc máy tính 25 5.1 Mơ hình kiến trúc Von Neumann 26 5.2 Mơ hình kiến trúc Havard 27 CÂU HỎI VÀ BÀI TẬP 28 CHƢƠNG 2: KIẾN TRÚC TẬP LỆNH CỦA MÁY TÍNH 29 Thành phần máy tính 29 1.1 Bộ xử lý trung tâm (CPU) 30 1.2 Bộ nhớ máy tính 31 1.3 Hệ thống vào - 33 1.4 Liên kết hệ thống 33 Kiến trúc tập lệnh CISC RISC 34 2.1 Kiến trúc tập lệnh CISC 35 2.2 Kiến trúc tập lệnh RISC 35 Mã lệnh 38 3.1 Khái niệm lệnh máy, mã lệnh 38 3.2 Tập lệnh 39 CÂU HỎI VÀ BÀI TẬP 46 CHƢƠNG 3: BỘ XỬ LÝ 47 1.Sơ đồ khối xử lý 47 Đƣờng dẫn liệu 48 2.1 Các thành phần đƣờng dẫn liệu 48 2.2 Nhiệm vụ đƣờng dẫn liệu 49 Bộ điều khiển 50 3.1 Chức điều khiển 50 3.2 Các phƣơng pháp thiết kế điều khiển 51 Tiến trình thực lệnh máy 53 4.1 Đọc lệnh 53 4.2 Giải mã lệnh 54 4.3 Nhận liệu 54 4.4 Thực lệnh 55 4.5 Lƣu trữ kết 55 Kỹ thuật ống dẫn lệnh 56 Kỹ thuật siêu ống dẫn lệnh 58 Các chƣớng ngại ống dẫn lệnh 59 7.1 Chƣớng ngại cấu trúc 59 7.2 Chƣớng ngại liệu 59 7.3 Chƣớng ngại điều khiển 60 Các loại ngắt 62 8.1 Ngắt 62 8.2 Các loại ngắt 62 8.3 Hoạt động ngắt 63 CÂU HỎI VÀ BÀI TẬP 64 CHƢƠNG 4: BỘ NHỚ 65 1.Phân loại nhớ 65 1.1 Phân loại nhớ theo phƣơng pháp truy nhập 65 1.2.Phân loại theo đọc ghi nhớ 65 Các loại nhớ bán dẫn 66 2.1.ROM (Read Only Memory) 66 2.2.RAM (Random Access Memory) 67 Hệ thống nhớ phân cấp 70 Kết nối nhớ với xử lý 72 5.Các tổ chức cache 73 5.1 Cache (bộ nhớ đệm nhanh) 73 5.2 Tổ chức cache 74 5.3 Các phƣơng pháp ánh xạ địa 75 CÂU HỎI VÀ BÀI TẬP 79 CHƢƠNG 5: THIẾT BỊ NHỚ NGOÀI 80 1.Các thiết bị nhớ vật liệu từ 80 1.1 Đĩa từ (đĩa cứng, đĩa mềm) 80 1.2 Băng từ 83 2.Thiết bị nhớ quang học 84 2.1 CD-ROM, CD-R/W 85 2.2 DVD-ROM, DVD-R/W 85 2.3 Bluray 86 3.Các loại thẻ nhớ 86 An toàn liệu lƣu trữ 87 4.1 RAID (Redundant Arrays of Inexpensive Disks) 87 4.2 Các loại RAID 88 CÂU HỎI VÀ BÀI TẬP 92 CHƢƠNG 6: BẢNG MẠCH CHÍNH 93 CHƢƠNG 7: CÁC LOẠI BUS 98 Định nghĩa bus, bus hệ thống 98 1.1 Định nghĩa bus 98 1.2 Bus hệ thống(System bus) 99 Bus đồng không đồng 99 2.1.Bus đồng 99 2.2 Bus không đồng 99 Hệ thống bus phân cấp 99 3.1 Bus nối xử lý với nhớ 100 3.2 Bus vào – 100 Các loại bus sử dụng hệ thống vi xử lý 102 CÂU HỎI VÀ BÀI TẬP 103 CHƢƠNG 8: NGÔN NGỮ ASSEMBLY 104 Tổng quan 104 2.Cấu trúc chƣơng trình 105 2.1 Cấu trúc chƣơng trình hợp ngữ 105 2.2 Cú pháp lệnh hợp ngữ 107 2.3 Các kiểu liệu hợp ngữ 109 Các lệnh điều khiển 112 3.1 Các lệnh 112 3.2 Các lệnh chuyển điều khiển 121 Ngăn xếp thủ tục 125 4.1 Ngăn xếp 125 4.2 Các thủ tục 127 CÂU HỎI VÀ BÀI TẬP 129 TÀI LIỆU THAM KHẢO 131 MƠN HỌC ĐÀO TẠO CẤU TRÚC MÁY TÍNH Mã mơn học: MH 09 * Vị trí, tính chất, ý nghĩa vai trị mơn học: - Vị trí: Mơn học Cấu trúc máy tính đƣợc bố trí học sau môn học chung, môn tin học đại cƣơng, tin học văn phòng, kỹ thuật điện-điện tử học với mơ đun lắp ráp cài đặt máy tính - Tính chất: Là mơn học kỹ thuật sở thuộc môn học đào tạo nghề - Ý nghĩa vai trị: mơn sở, cung cấp cho sinh viên kiến thức máy tính nghề Quản trị mạng * Mục tiêu môn học: - Trình bày đƣợc lịch sử máy tính, hệ máy tính cách phân loại máy tính - Mô tả thành phần kiến trúc máy tính, tập lệnh Các kiểu kiến trúc máy tính: mơ tả kiến trúc, kiểu định vị - Trình bày đƣợc cấu trúc xử lý trung tâm: tổ chức, chức nguyên lý hoạt động phận bên xử lý - Mô tả diễn tiến thi hành lệnh mã máy số kỹ thuật xử lý thông tin: ống dẫn, siêu ống dẫn, siêu vơ hƣớng - Trình bày đƣợc chức nguyên lý hoạt động loại nhớ - Trình bày phƣơng pháp lƣu trữ liệu nhớ - Cài đặt đƣợc chƣơng trình lệnh điều khiển Assembly để thực toán theo yêu cầu - Bố trí làm việc khoa học đảm bảo an toàn cho ngƣời phƣơng tiện học tập Nội dung mơn học (danh sách chƣơng mục ): Số TT Tên chƣơng Tổng quan kiến trúc máy tính Thời gian Tổng Lý Thực số thuyết hành Kiểm tra* 10 Kiến trúc tập lệnh máy tính 11 Bộ xử lý 15 Bộ nhớ Thiết bị nhớ 7 Bảng mạch Các loại bus 2 1 Ngôn ngữ Assembly Cộng 30 90 13 44 15 40 CHƢƠNG 1:TỔNG QUAN VỀ CẤU TRÚC MÁY TÍN Mã chƣơng:MH09-01 Mục tiêu: - Trình bày lịch sử phát triển máy tính, thành tựu máy tính; Trình bày khái niệm thơng tin; Mơ tả đƣợc kiến trúc máy tính; Biến đổi hệ thống số, bảng mã thông dụng đƣợc dùng để biểu diễn ký tự 1.Các mốc lịch sử phát triển cơng nghệ máy tính Mục tiêu: Trình bày lịch sử phát triển máy tính, thành tựu máy tính 30 năm trƣớc, 5150 đời phá vỡ quan điểm trƣớc máy tính Lần đầu tiên, máy tính đƣợc nhìn nhận nhƣ thiết bị có kích thƣớc vừa phải, hợp túi tiền đƣợc cơng chúng ý nhiều Hình 1.1: 1982: Franklin Ace 100 Đây máy tính gây vụ kiện quyền phần mềm lịch sử Acer bị Apple kiện vi phạm nhãn hiệu hàng hóa chép phần cứng phần mềm máy tính Apple II cho Franklin Ace 100 Trong vụ kiện này, phần thắng thuộc Apple 1982: Commodore 64 117 3.1.2 Nhóm lệnh tính tốn số học 3.1.2.1.Nhóm lệnh xử lý phép cộng 3.1.2.1.1 Lệnh ADD: ( Addition ) Cú pháp : ADD < Dest > , < Source > < Dest > = < Dest > + < Source > Dest : Là ghi hay nhớ Source : Là ghi hay nhớ hay trực Chức : Dùng để cộng khơng nhớ tốn hạng Dest tốn hạng Source , kết lƣu vào toán hạng Dest Lệnh ảnh hƣởng đến cờ : SF, CF , OF , AF, PF, ZF 3.1.2.1.2 Lệnh ADC ( Addition With Carry ) Cú pháp : ADC < Dest > , < Source > < Dest > = < Dest > + < Source > + CF Tƣơng tự nhƣ lênh ADD , lệnh ADC thực phép cộng có nhớ Lệnh ADC lấy toán hạng < Dest > + < Source> + cờ CF, kết lƣu vào toán hạng Dest , lệnh thƣờng dùng cho phép cộng lớn 16 bít 3.1.2.1.3 Lệnh INC : ( Increment ) Cú pháp : INC < Dest > < Dest > = < Dest > + Dest : Có thể ghi hay nhớ Lệnh ảnh hƣởng đến cờ : OF , ZF , PF , AF , SF Ví dụ : Cho hai số A, B dạng double word chứa hai số nguyên khơng dấu , Viết chƣơng trình cộng hai số A , B Kết đƣa vào biến C , có sử lý trƣờng hợp tràn số Code SEGMENT ASSUME CS : Code , DS : Code ORG 100h Begin : MOV AX , Word PTR A MOV BX , Word PTR A+2 118 ADD AX , Word PTR B ADC BX , Word B+2 MOV Word Int PTR C+2 , 20h A DD 7000F000h B DD 90002000h C DB Dup( ) Code ENDS END Begin 3.1.2.2 Nhóm lệnh xử lý phép trừ 3.1.2.2.1 Lệnh SUB ( Subtract) * Cú pháp: SUB < dest>, < Dest >= - Source :có thể ghi hay nhớ Lệnh source lấy nội dung toán hạng dest trừ toán hạng source kết lƣu vào dest Ví dụ : Mov AX , 1234h Sub AX , 0345h; AX = 1234h - 0345h Lệnh Sub ảnh hƣởng đến sáu cờ 0F , CF , AF , PF , SF ,ZF 3.1.2.2.2 Lệnh SBB ( Subtract with Borrow) * Cú pháp: SBB < dest > , < source > < Dest > = < Dest > - < Source > - CF Lệnh SBB lấy toán hạng < Dest > - < Source > trừ thêm cờ CF , kết lƣu vào toán hạng Dest 3.1.2.2.3 Lệnh DEC ( Decrement) * Cú pháp: DEC < Dest > < Dest > = < Dest > -1 119 Lệnh Dest lệnh giảm đơn vị Lệnh ảnh hƣởng đến Cờ Cờ CF không ảnh hƣởng tới Lƣu ý : Lệnh SBB đƣợc sử dụng cho trƣờng hợp số lớn 16 bít Ví dụ : Viết chƣơng trình trừ số :A=70002000h , B=90003000h,kết lƣu vào nhớ C = Byte Nếu byte cao C =1 kết số âm , ngƣợc lại số dƣơng Code Segment Assume CS :Code ORG 100h Begin: Mov AX , Word PTR A Mov BX , Word PTR A+2 SUB AX , Word PTR B SUB BX , Word PTR B+2 Mov Word PTR C , AX Mov Word PTR C+2 , BX ADC Word PTR C +4 Int 20h A DB 70002000h B DB 90003000h C DB Dup ( ? ) Code Ends End Begin 3.1.2.3 Nhóm lệnh xử lý phép nhân Lệnh MUL ( Multiply) * Cú pháp: MUL < Source> < Source> ghi hay nhớ bít hay 16 bít Trƣờng hợp : Nếu < Source > có độ dài bít lệnh MUL lấy nội dung ghi AL nhân với source, kết lƣu vào ghi AX 120 Trƣờng hợp 2: Nếu source có độ dài 16 bít lệnh MUL lấy nội dung ghi AX nhân với sourrce , kết 32 bít :16 bít thấp lƣu vào AX, 16 bit cao lƣu vào DX Ví dụ : Mov AL , 12h Mov BL , 10h MUL BL ; BL = 120h , AX = 0120h Mov AX ,1234h Mov BX , 100h MUL BX 3.1.2.4 Nhóm lệnh xử lý phép chia Lệnh DIV * Cú pháp: DIV < Source > Tƣơng tự nhƣ phép nhân < source > có trƣờng hợp Trƣờng hợp 1:Nếu source có độ dài bít lệnh DIV lấy nội dung ghi AX chia cho source , thƣơng số phép chia đƣợc lƣu ghi AL dƣ số đƣợc lƣu AH Trƣờng hợp :Nếu source 16 bít lệnh DIV lấy nội dung cặp ghi DX : AX chia cho toán hạng source , thƣơng số đƣợc lƣu AX , dƣ số đƣợc lƣu DX Ví dụ : Mov AX , 0234h Mov BL , 10h DIV BL ; AL = 23h , AH = 04h Mov AX , 1234h Mov DX , 0567h Mov BX , 100h DIV BX ; AX = 567h , DX = 0234h Ghi : Muốn in số >= kí số chia liên tiếp số cho 10 đến thƣơng số = Sau phép chia cất dƣ số vào stack , sau thƣơng số = muốn in ta lấy gía trị đỉnh Stack đƣa hình 121 3.2 Các lệnh chuyển điều khiển 3.2.1 So sánh * Cú pháp: CMP < Left >, < Right > Left : Là ghi hay nhớ Right : Là ghi hay nhớ hay trực Ví dụ : CMP AL,0Dh * Cơng dụng : Dùng để so sánh toán hạng Left toán hạng Right Lệnh Assemble lấy toán hạng Left trừ toán hạng Right kết đƣợc lƣu cờ mà không thay đổi nội dung hai toán hạng Kết phép so sánh : a) Đối với số không dấu : CỜ ZF CF Left > Right Left = Right Left < Right 0 0 b) Đối Với Số Có Dấu : CỜ ZF OF SF Left > Right Left = Right Left < Right 0/1 0/1 122 /0 0/1 Ví dụ : Mov AX , 6000h CMP AX , -7000h 6000h - ( -7000h ) 3.2.2 Lệnh lặp Lệnh Loop : * Cú pháp : Loop * Công dụng : Dùng để lặp vòng Nếu ghi CX khác lệnh Loop chuyển điều khiển đến lệnh kế sau nhãn gỉam ghi CX đơn vị Nếu CX=0 lệnh nằm phía sau lệnh Loop đƣợc thực thi Ví dụ : Mov AH , 01h Mov CX , Lặp : Loop lặp Nhóm Lệnh Lặp Có Điều Kiện : a LoopE / LoopZ Lặp CX khác ZF = b LoopNE / LoopNZ < Nhãn > Lặp CX khác ZF = Ví dụ : Viết chƣơng trình nhập từ bàn phím chuỗi tối đa 80 kí tự Sau tìm kí tự chữ 'a' chuỗi vừa nhập vào , in kết Code SEGMENT ASSUME ORG CS : Code , DS : Code 100h Begin : Mov AH , 09h 123 Mov DX , Offset mess1 Int 21h Mov DX , Offset Maxtype Mov AH , 0Ah Int 21h Mov BX , Offset Len Mov CL , [ BX ] Mov CH , Mov BX , Offset Buffer - Mov AL , 'a' Lặp: INC BX CMP AL , [ BX ] LoopNE Lặp JE thấy JMP không thấy Thấy: Mov AH , 09h Mov DX , Offset mess2 Int 21h JMP thoat Mov AH , 09h Mov DX , Offset mess3 Int 21h Không thấy : thoat : Int 20h mess3 DB ' Khơng tìm thấy $' mess2 DB ' Đã tìm thấy $' mess1 DB ' Nhập chuỗi (< 80 ) kí tự ' 124 Maxtype DB 81 Len DB Buffer DB 81 Dup( ? ) Code ENDS END Begin 3.2.3 Lệnh nhảy 3.2.3.1 Lệnh nhảy không điều kiện Cú pháp : JMP < Nhãn > 3.2.3.2 Lệnh nhảy có điều kiện a) Nhóm Lệnh Nhảy Dùng Cho Số Khơng Dấu LỆNH JA (>) JAE (>=) JNA (=) JNG ( ) JZ Ý NGHĨA ZF = Jump if equal ZF = Jump if Not equal (=) Jump if Zero JNZ ( < >) Jump if Not Zero JC CF = Jump if carry JNC CF = Jump if Not carry JCXZ CX = Jump if CX Zero Ngăn xếp thủ tục - Mục tiêu: Trình bày ngăn xếp; - Viết chương trình cách truyền tham số cho chương trình 4.1 Ngăn xếp Đoạn ngăn xếp (stack segment) chƣơng trình đƣợc dùng để cất giữ tạm thời số liệu địa Trong phần xem xét cách tổ chức stack sử dụng để thực thủ tục (procedure) Ngăn xếp cấu trúc liệu chiều Điều có nghĩa số liệu đƣợc đƣa vào lấy khỏi stack đầu cuối stack theo nguyên tắc LIFO ( last in first out) Vị trí số liệu đƣợc đƣa vào hay lấy gọi đỉnh ngăn xếp (top of stack) Có thể hình dung satck nhƣ chồng đĩa Đĩa đƣa vào sau nằm đỉnh chồng đĩa Khi lấy ra, đĩa đƣợc lấy trƣớc Một chƣơng trình phải dành khối nhớ cho ngăn xếp Chúng ta dùng dẫn STACK 100h để khai báo kích thƣớc vùng stack 256 bytes Khi chƣơng trình đƣợc dịch nạp vào nhớ ghi SS ( stack segment) chứa địa đoạn stack Còn SP ( stack pointer) chứa địa đỉnh ngăn xếp Trong khai 126 báo stack 100h , SP nhận giá trị 100h Điều có nghĩa stack trống rỗng (empty) nhƣ hình 6.1 Hình 7.1: Stack empty Lệnh PUSH Để thêm từ vào stack dùng lệnh : PUSH nguồn; đƣa ghi từ nhớ 16 bit vào stack Ví dụ PUSH AX Khi lệnh đƣợc thực : · SP giảm · copy toán hạng nguồn đƣọc chuyển đến địa SS:SP cịn tốn hạng nguồn khơng thay đổi Lệnh POP Để lấy số liệu đỉnh stack khỏi stack ,chúng ta dùng lệnh : POP đích ; lấy số liệu đỉnh stack đích Đích ghi từ nhớ 16 bit Ví dụ : POP BX ; Lấy số liệu stack ghi BX Khi thực lệnh POP : · nội dung đỉnh stack ( địa SS:SP) đƣợc di chuyển đến đích · SP tăng 127 4.2 Các thủ tục Trong ngôn ngữ cấp cao ngƣời ta dùng thủ tục để giải toán , làm nhƣ hợp ngữ Nhƣ chƣơng trình hợp ngữ đƣợc xây dựng thủ tục Một thủ tục gọi thủ tục chứa nội dung chủ yếu chƣơng trình Để thực cơng việc , thủ tục gọi ( CALL) thủ tục Thủ tục gọi thủ tục khác Khi thủ tục gọi thủ tục khác, điều khiển đƣợc chuyển tới ( controltransfer) thủ tục đƣợc gọi lệnh thủ tục đƣợc gọi đƣợc thi hành Sau thi hành hết lệnh nó, thủ tục đƣợc gọi trả điều khiển (return control) cho thủ tục gọi Cú pháp lệnh tạo thủ tục: tên thủ tục PROC kiểu gọi thủ tục ; lệnh RET tên thủ tục ENDP tên thủ tục ngƣời dùng định nghĩa kiểu gọi thủ tục NEAR ( khơng khai báo ) NEAR có nghĩa thủ tục đƣợc gọi nằm đoạn với FAR thủ tục gọi FAR có nghĩa thủ tục đƣợc gọi thủ tục gọi nằm khác đọan Lệnh RET trả điều khiển cho thủ tục gọi Tất thủ tục phải kết thúc RET trừ thủ tục Ví dụ: Viết chƣơng trình tính tích số dƣơng A B thuật toán cộng ( ADD) dịch ( SHIFT ) Thuật toán nhƣ sau : Product = REPEAT IF lsb of B is 128 THEN product=product+A END_IF shift left A shift right B UNTIL B=0 Viết chƣơng trình MODEL SMALL STACK 100H CODE MAIN PROC ; thực DEBUG Đặt A = AX , B=BX CALL MULTIPLY ;DX chứa kết qủa MOV AH,4CH INT 21H MAIN ENDP MULTIPY PROC ; input : AX=A , BX=B , AX BX có giá trị khoảng FFH ; output : DX= kết qủa PUSH AX PUSH BX XOR DX,DX REPEAT: ; Nếu lsb B =1 TEST BX,1 ;lsb=1? JZ END_IF ; khơng , nhảy đến END_IF ; ADD DX,AX ; DX=DX+AX END_IF : 129 SHL AX,1 ; dịch trái AX bit SHR BX,1 ;dịch phải BX bit ; BX=0 JNZ REPEAT ; BX chƣa lặp POP BX ; lấy lại BX POP AX ; lấy lại AX RET ; trả điều khiển cho chƣơng trình MULTIPLY ENDP END MAIN CÂU HỎI VÀ BÀI TẬP Bài 1: Giải thích câu lệnh sau a/ MOV AL,5Bh MOV BL,0ADh ADD AL,BL b/ MOV AX,170Fh MOV BX,80EBh ADD AX,BX c/ MOV AL,41h MOV BL,50h CMP AL,BL Bài :Viết chƣơng trình hiển thị hình hình chữ nhật gồm kí tự ' *' Bài :Viết chƣơng trình hiển thị chuỗi ' * * * * * * * * ' hình Bài : Viết chƣơng trình hiển thị hình 26 chữ cái(A->Z) có khỏang trắng Bài : Viết chƣơng trình hiển thị chuỗi " Hello , How are you " hình 130 Bài : Viết chƣơng trình hiển thị hình 26 chữ cái(A->Z) khơng có khỏang trắng Bài : Viết chƣơng trình hiển thị hình chuỗi '012345678' Bài 8:Viết chƣơng trình hiển thị hình hình vng gồm kí tự ' * ' bên Bài :Viết chƣơng trình nhập vào số cho biết số trƣớc lớn hớn , nhỏ hay số sau Bài 10 :Viết chƣơng trình nhập vào chuỗi (