Giao tiếp giữa KIT vi xử lý 8086 và máy tính Nguồn, chương 4

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:6

0
122
lượt xem
48
download

Giao tiếp giữa KIT vi xử lý 8086 và máy tính Nguồn, chương 4

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Vi xử lý 8086 có nhiều phương pháp định địa chỉ và cũng có nhiều khả năng kết hợp các phương pháp đó lại với nhau. Tuy nhiên, một lệnh chỉ cần 6 byte để mã hóa, và byte bắt đầu là mã công tác (Opẻatión code), byte tiếp theo chứa kiểu địa chỉ và tiếp theo đó có thể là một hoặc hai byte dùng để chứa địa chỉ. Các byte cuối cùng gồm một hoặc hai chứa toán hạng 8 hoặc 16 bit. Thực tế để biểu diển dạng thức các byte dùng để mã hóa lệnh Mov....

Chủ đề:
Lưu

Nội dung Text: Giao tiếp giữa KIT vi xử lý 8086 và máy tính Nguồn, chương 4

  1. CHÖÔNG 4 KHAÛO SAÙT TOÅNG QUAÙT TAÄP LEÄNH CUÛA VI XÖÛ LYÙ 8086 I. CAÙCH MAÕ HOAÙ LEÄNH CUÛA 8086 Vi xöû lyù 8086 coù nhieàu phöông phaùp ñònh ñòa chæ vaø cuõng coù nhieàu khaû naêng keát hôïp caùc phöông phaùp ñoù laïi vôùi nhau. Tuy nhieân, moät leänh chæ caàn 6 byte ñeå maõ hoùa, vaø byte baét ñaàu laø maõ coâng taùc (Operations code), byte tieáp theo chöùa kieåu ñòa chæ vaø tieáp theo ñoù coù theå laø moät hoaëc hai byte duøng ñeå chöùa ñòa chæ. Caùc byte cuoái cuøng goàm moät hoaëc hai chöùa toaùn haïng 8 hoaëc 16 bit. Thöïc teá ñeå bieåu dieån daïng thöùc caùc byte duøng ñeå maõ hoùa leänh Mov. Ta ttaáy raèng ñeå maõ hoùa leänh Mov ta phaûi caàn ít nhaát laø hai byte, trong ñoù 6 bit cuûa byte ñaàu duøng ñeå chöùa maõ leänh. Ñoái vôùi leänh Mov ñeå chuyeån döõ lieäu kieåu: - Thanh ghi  thanh ghi Tröø thanh ghi ñoaïn - Boä nhôù  thanh ghi Thì bit ñaàu (opcode) naøy luoân laø ‘100010’ (ñoái vôùi thanh ghi ñoaïn thì khaùc). Ñoái vôùi bit ‘D’ duøng ñeå chæ höôùng ñi cuûa döõ lieäu. D = 0 thì döõ lieäu ñi töø thanh ghi cho bôûi 3 bit cuûa REG. D = 1 döõ lieäu ñi ñeán thanh ghi cho bôûi 3 bit REG. Ñoái vôùi bit W duøng ñeå chæ raèng moät byte (W = 0) hoaëc moät töø (W = 1) seõ ñöôïc chuyeån. Byte1 Byte 2 Byte 3 Byte 4 DispL DispH D W Mod Opcod R M hoaëc e EG /R Disp: displacement (dòch chuyeån ) Ñòa chæ tröïc tieáp phaàn Ñòa chæ tröïc tieáp thaáp phaàn cao
  2. II. KHAÛO SAÙT TOÅNG QUAÙT TAÄP LEÄNH CUAÛ VXL 8086. Taäp leänh cuûa 8086 goàm 9 nhoùm leänh: - Nhoùm leänh truyeàn soá lieäu. - Nhoùm leänh soá hoïc. - Nhoùm leänh thao taùc chuoãi. - Nhoùm leänh logic. - Nhoùm leänh xöû lyù bit. - Nhoùm leänh ñieàu khieån chöông trình. - Nhoùm leänh ngoân ngöõ baäc cao. - Nhoùm leänh ôû cheá ñoä baûo veä. - Nhoùm leänh ñieàu khieån caùc boä vi xöû lyù. Qua nhöõng nhoùm leänh giôùi thieäu treân nhoùm thöïc hieän ñeà taøi chæ khaûo saùt nhöõng nhoùm leänh thoâng duïng nhaèm phuïc vuï cho vieäc laäp trình baèng ngoân ngöõ maùy. 2.1). Nhoùm leänh truyeàn soá lieäu: Caùc leänh truyeàn döõ lieäu seõ sao cheùp döõ lieäu giöõa thanh ghi vôùi thanh ghi, vôùi boä nhôù hoaëc vôùi khoái vaøo-ra. Chuùng coù theå söû duïng nhieàu caùch ñònh ñòa chæ khaùc nhau. Trong caùch vieát leänh döôùi daïng gôïi nhôù: toaùn haïng ñaàu tieân laø thanh ghi ñích hoaëc ñòa chæ ñích vaø tieáp sau daáu phaåy laø thanh ghi nguoàn hoaëc ñòa chæ nguoàn. Khaùc vôùi 8085, trong 8086 taát caû caùc leänh truyeàn döõ lieäu ñeàu duøng leänh “Mov”  Truyeàn töø thanh ghi vaøo thanh ghi: Mov (Reg1), (Reg2) Noäi dung (Reg2) ñöôïc sao cheùp vaøo (Reg1). Thí duï: Mov AL, BL Sao cheùp noäi dung BL vaøo thanh ghi AL.
  3.  Truyeàn töø thanh ghi vaøo boä nhôù: Mov (Mem), (Reg) Ñoái vôùi leänh byte, noäi dung cuûa thanh ghi ñöôïc ñöa vaøo ñòa chæ cuûa oâ nhôù. Ñoái vôùi leänh word thì noäi dung cuûa thanh ghi ñöôïc ñöa vaøo hai oâ nhôù coù ñòa chæ laàn löôïc laø (Mem) vaø (Mem + 1). Thí duï: Mov [1200], BL Sao cheùp noäi dung cuûa thanh ghi BL vaøo oâ nhôù coù ñòa chæ töông ñoái laø 1200.  Truyeàn töø oâ nhôù vaøo thanh ghi: Mov (Reg), (Mem) Ñoái vôùi leänh byte, noäi dung oâ nhôù ñöôïc cheùp vaøo thanh ghi. Ñoái vôùi leänh word, noäi dung cuûa 2 oâ nhôù (Mem) vaø (Mem + 1) ñöôïc cheùp vaøo thanh ghi. Thí duï: Mov BL, [1500] Sao cheùp noäi dung oâ nhôù taïi ñòa chæ 1500 vaøo thanh ghi BL. Mov BX, [1500] Sao cheùp noäi dung hai oâ nhôù taïi ñòa chæ 1500 vaø 1501 vaøo thanh ghi BX (oâ 1500 vaøo BL vaø oâ 1501 vaøo BH) Chuù yù: neáu söû duïng AL hoaëc AX trong caùc leänh truyeàn töø thanh ghi vaøo oâ nhôù vaø ngöôïc laïi seõ nhaän ñöôïc maõ coâng taùc ngaén hôn khi söû duïng caùc thanh ghi khaùc.  Truyeàn töùc thôøi vaøo thanh ghi: Mov (Reg), (Data) Trong leänh naøy, döõ lieäu ñöôïc truyeàn töùc thôøi vaøo thanh ghi. Thí duï: Mov BL, 20 Giaù trò 20 ñöôïc ñöa vaøo thanh ghi BL.  Truyeàn töùc thôøi vaøo boä nhôù: Mov (Mem), (Data)
  4. Trong leänh byte döõ lieäu ñöôïc truyeàn töùc thôøi vaøo oâ nhôù coù ñòa chæ (Mem). Trong leänh word döõ lieäu ñöôïc truyeàn töùc thôøi vaøo 2 oâ nhôù coù ñòa chæ (Mem) vaø (Mem + 1). Thí duï: Mov [1200], 50 Giaù trò 50 ñöôïc ñöa vaøo oâ nhôù coù ñòa chæ 1200. Mov Word PTR [1200], 50 Giaù trò Word 0050 ñöôïc ñöa vaøo 2 oâ nhôù baét daàu taïi ñòa chæ 1200:50 (LSB) vaøo ñòa chæ 1200:00 (MSB) vaøo ñòa chæ 1201 - Truy xuaát tröïc tieáp coång: IN (Reg), (Port) Ñoïc noäi dung cuûa coång vaøo thanh ghi. thanh ghi söû duïng l2 AL (daïng byte) vaø AX (daïng Word), ñòa chæ coång laø moät soá 8 bit. OUT (Reg), (Port) Xuaát noäi dung cuûa thanh ghi ra coång. - Truy xuaát giaùn tieáp coång: IN (Reg), DX Ñoïc noäi dung cuûa coång coù ñòa chæ chöùa trong DX vaøo thanh ghi. Thanh ghi söû duïng laø AL hoaëc AX, ñòa chæ coång laø soá 16 bit. OUT DX, (Reg) Gôûi noäi dung thanh ghi ra coång coù ñòa chæ chöùa trong DX 2.2). Nhoùm leänh soá hoïc: Bao goàm caùc pheùp tính cô baûn (coäng, tröø, nhaân vaø chia) vaø pheùp so saùnh, toaùn haïng coù theå laø döõ lieäu 8 bit hoaëc 16 bit, keát quaû coù theå laø 8 bit, 16 bit hoaëc 32 bit. Caùc toaùn haïng ñöôïc chöùa trong thanh ghi boä nhôù töùc thôøi. Tuøy theo thao taùc, keát quaû coù theå ñöôïc chöùa trong 1 hoaëc 2 thanh ghi trong boä nhôù.  Pheùp coäng: Vi xöû lyù 8086 thöïc hieän pheùp coäng coù löu yù soá nhôù hoaëc khoâng löu yù soá nhôù 8 bit hoaëc 16 bit.
  5. + Soá haïng ñaàu tieân ñöôïc chöùa trong caùc thanh ghi döõ lieäu (AX, BX, CX, DX, AH, AL, BH …), trog moät thanh ghi chæ soá hoaëc moät oâ nhôù. Soá haïng thöù hai coù theå laø töùc thôøi trong thanh ghi hoaëc trong boä nhôù. Hai soá haïng khoâng theå cuøng ôû trong boä nhôù, keát quaû pheùp coäng ñöôïc chöùa trong toaùn haïng thöù nhaát. Sau ñaây laø baûng lieät keâ leänh coäng döôùi daïng gôïi nhôù: Coäng khoâng löu yù Coäng coù löu yù soá Thí duï soá nhôù nhôù ADD (accu), (data) ADC (accu), (data) ADD AX, 1250 ADD (mem), (data) ADC (mem), ADD Byte PTR ADD (reg), (data) (data) [0900],50 ADD (reg1), (reg2) ADC (reg), (data) ADD BL, 50 ADD (reg), (mem) ADC (reg1), (reg2) ADC AL, AH ADD (mem), (reg) ADC (reg), (mem) ADD CX, [0800] ADC (mem), (reg) ADC [0600], DL  Pheùp tröø: 8086 coù theå thöïc hieän pheùp tröø vôùi 8 bit hoaëc 16 bit, leänh SBB coù löu yù soá thieáu vaø leänh SUB khoâng löu yù soá thieáu. Sau ñaây laø baûng lieät keâ leänh tröø döôùi daïng gôïi nhôù: Tröø coù soá thieáu Tröø khoâng coù soá Thí duï thieáu SUB (accu), (data) SBB (accu), (data) SUB AX, 1230 SUB (mem), (data) SBB (mem), (data) SBB Byte PTR SUB (reg), (data) SBB (reg), (data) [5000], 90 SUB (reg1), (reg2) SBB (reg1), (reg2) SUB BL, 50 SUB (reg), (mem) SBB (reg), (mem) SBB AL, DL SUB (mem), (reg) SBB (mem), (reg) SUB CX, [1230] SBB [0300], DL

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản