Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 128 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
128
Dung lượng
1,6 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Ề: KỸ THUẬT SỬA CHỮA, LẮP RÁP MÁY TÍNH TRÌNH ĐỘ: TRUNG CẤP (Ban hành kèm theo Quyết định số: /QĐ- ngày / /2018 ) Ninh Bình, năm 2018 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 ngun 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: MH 10 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 phần mềm xử lý Chƣơng 3: Tổ chức vi xử lý Chƣơng 4: Hệ thống nhớ Chƣơng 5: Thiết bị nhập xuất Chƣơng 6: Các loại bus Chƣơng 7: 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 35 2.1 Kiến trúc tập lệnh CISC 35 2.2 Kiến trúc tập lệnh RISC 36 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: CÁC LOẠI BUS 93 Định nghĩa bus, bus hệ thống 93 1.1 Định nghĩa bus 93 1.2 Bus hệ thống(System bus) 94 Bus đồng không đồng 94 2.1.Bus đồng 94 2.2 Bus không đồng 94 Hệ thống bus phân cấp 94 3.1 Bus nối xử lý với nhớ 95 3.2 Bus vào – 95 Các loại bus sử dụng hệ thống vi xử lý 97 CÂU HỎI VÀ BÀI TẬP 98 CHƢƠNG 7: NGÔN NGỮ ASSEMBLY 99 Tổng quan 99 2.Cấu trúc chƣơng trình 100 2.1 Cấu trúc chƣơng trình hợp ngữ 100 2.2 Cú pháp lệnh hợp ngữ 102 2.3 Các kiểu liệu hợp ngữ 104 Các lệnh điều khiển 107 3.1 Các lệnh 107 3.2 Các lệnh chuyển điều khiển 116 Ngăn xếp thủ tục 120 4.1 Ngăn xếp 120 4.2 Các thủ tục 122 CÂU HỎI VÀ BÀI TẬP 124 TÀI LIỆU THAM KHẢO 126 MÔN HỌC ĐÀO TẠO CẤU TRÚC MÁY TÍNH Mã mơn học: MH 10 * 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ớ ngồi - Cài đặt đƣợc chƣơng trình lệnh điều khiển Assembly để thực tốn theo 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 5 Kiến trúc tập lệnh máy tính 13 Bộ xử lý 4 Bộ nhớ 13 Thiết bị nhớ 15 10 Các loại bus 10 5 Ngôn ngữ Assembly Cộng 20 90 10 45 41 CHƢƠNG 1:TỔNG QUAN VỀ CẤU TRÚC MÁY TÍNH Mã chƣơng: MH 10-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 112 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ớ toán hạng Dest toá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 113 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 114 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 Code B DB 90003000h C DB Dup ( ? ) 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 115 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 116 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 tố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 117 /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 118 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ự ' 119 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 121 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 122 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 123 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 : 124 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 125 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 (