Thiết kế mạch ghi - đọc EPROM cho Vi Điều Khiển 8951, chương 6

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

0
79
lượt xem
42
download

Thiết kế mạch ghi - đọc EPROM cho Vi Điều Khiển 8951, chương 6

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

Một nhãn tượng trưng cho địa chỉ của lệnh (hoặc dữ liệu ) theo sau nhãn. Khi các rẽ nhánh đến lệnh này, nhãn được dùng trong vùng toán hạng của nhánh (hoặc lệnh nhảy). Các “nhãn“ là một kiểu ký hiệu, sau nhãn phải có dấu hai chấm (:) còn sau ký hiệu thì không. Các kiểu ký hiệu được quy cho các giá trị hoặc quy cho việc dùng các chỉ thị như...

Chủ đề:
Lưu

Nội dung Text: Thiết kế mạch ghi - đọc EPROM cho Vi Điều Khiển 8951, chương 6

  1. Chương 6: Vuøng nhaõn (label Field ) Moät nhaõn töôïng tröng cho ñòa chæ cuûa leänh (hoaëc döõ lieäu ) theo sau nhaõn. Khi caùc reõ nhaùnh ñeán leänh naøy, nhaõn ñöôïc duøng trong vuøng toaùn haïng cuûa nhaùnh (hoaëc leänh nhaûy). Caùc “nhaõn“ laø moät kieåu kyù hieäu, sau nhaõn phaûi coù daáu hai chaám (:) coøn sau kyù hieäu thì khoâng. Caùc kieåu kyù hieäu ñöôïc quy cho caùc giaù trò hoaëc quy cho vieäc duøng caùc chæ thò nhö: EQU, SEGMENT, BIT, DATA, … Caùc kyù hieäu coù theå laø ñòa chæ, haèng, data, teân caùc segment hoaëc söï xaây döïng khaùc ñöôïc hieåu bôûi ngöôøi laäp trình. Sau ñaây laø moät ví duï ñeå phaân bieät nhaõn vaø kyù hieäu: PRA EQU 500 : PRA laø kyù hieäu töôïng tröng giaù trò 500 START :MOV A , #0FFH :START laø nhaõn töông tröng ñòa chæ leänh MOV Moät kyù hieäu hoaëc moät nhaõn phaûi baét ñaàu moät chöõ caùi daáu “?”, hoaëc daáu “-“; phaûi ñöôïc theo sau baèng moät chöõ caùi, caùc soá, daáu “?” hay “-“, vaø coù theå chöùa tôùi 31 kyù töï.
  2. 3.2 Vuøng thuaät nhôù (Mnemonic Field ): Caùc thuaät nhôù hay caùc chæ chò bieân dòch ñi vaøo vuøng thuaät nhôù theo sau vuøng nhaõn. Ví duï caùc thuaät nhôù leänh nhö: ADD, MOV, DIV, INC, … ; caùc chæ thò bieân dòch nhö : ORG , EQU. 3.3 Vuøng toaùn haïng (Operand Field): Vuøng toaùn haïng theo sau vuøng thuaät nhôù. Vuøng naøy chöùa ñòa chæ hay döõ lieäu ñöôïc duøng bôûi leänh. Moät nhaõn coù theå duøng ñeå töôïng tröng cho haèng döõ lieäu. Caùc khaû naêng cho pheùp vuøng toaùn haïng phuï thuoäc lôùn vaøo caùc hoaït ñoäng. Moät vaøi hoaït ñoäng khoâng coù toaùn haïng nhö : RET, NOP trong khi caùc hoaït ñoäng khaùc cho pheùp nhieàu toaùn haïng ñöôïc phaân ra baèng daáu phaåy. 3.4 Vuøng chuù thích (Comment Field ): Caùc chuù thích phaûi deã hieåu ñaët ñeå giaûi thích leänh, vaø coù daáu chaám phaåy ôû ñaàu. Khoái chuù thích trong khung ñeå giaûi thích tính chaát chung cuûa phaàn chöông trình ñöôïc caét ra beân döôùi. 3.5 Caùc kyù hieäu bieân dòch ñaëc bieät (Special Assembler Symbol ): Caùc kyù hieäu bieân dòch ñaëc bieät ñöôïc duøng trong caùc mode ñònh vò thanh ghi cuï theå chuùng bao goàm caùc thanh ghi A, Ro – R7, DPTR, PC,C, AB, hay caùc kyù hieäu $ ñöôïc duøng ñeå quy vaøo giaù trò hieän haønh cuûa boä ñeám Location. Ví duï : leänh JNZ T1 , $ töông ñöông vôùi leänh sau : HERE : JNZ T1, HERE
  3. 3.6 Ñòa chæ giaùn tieáp (Indirect Address): Ñoái vôùi moät soá leänh duøng toaùn haïng coù theå xaùc ñònh thanh ghi maø noù chöùa ñòa chæ giaùn tieáp vaø noù chæ coù theå duøng vôùi R0, R1 , DPTR. Ví duï leänh MOV A, @R0 khoâi phuïc laïi byte döõ lieäu töø RAM noäi taïi ñòa chæ ñöôïc ñònh roõ trong R0. Leänh MOVC, @A + PC khoâi phuïc laïi byte döõ lieäu töø boä nhôù döõ lieäu ngoaøi taïi ñòa chæ ñöôïc taïo thaønh bôûi vieäc coäng noäi dung thanh ghi tích luõy A vaø boä ñeám chöông trình. 3.7 Döõ lieäu töùc thôøi (Immediate Data ): Caùc leänh duøng söï ñònh vò töùc thôøi cung caáp döõ lieäu vaøo vuøng toaùn haïng, kyù hieäu # ñaët tröôùc döõ lieäu töùc thôøi. Ví duï: CONSTANT EQU 100 MOV A, 0FFH ORL 40H, # CONSTANT 3.8 Ñòa chæ döõ lieäu (Data Address): Nhieàu leänh truy xuaát caùc vuøng nhôù duøng söï ñònh vò tröïc tieáp vaø ñoøi hoûi moät ñòa chæ nhôù döõ lieäu treân chip (00 – FFH) hay moät ñòa chæ SFR (80H – FFH) treân vuøng toaùn haïng. Caùc kyù hieäu ñaõ ñöôïc ñònh nghóa coù theå ñöôïc duøng cho caùc ñòa chæ SFR. Ví duï: MOV A, 45H hay MOV A, SBUF. 3.9 Ñòa chæ Bit (Bit Address): Moät trong nhöõng ñieåm maïnh cuûa 8951 laø khaû naêng truy xuaát caùc bit rieâng leû, khoâng caàn caùc hoaït ñoäng trang bò treân byte.
  4. Caùc leänh truy xuaát caùc bit ñònh vò phaûi cung caáp moät ñòa chæ trong boä nhôù döõ lieäu noäi (00H – 7FH) hoaëc ñòa chæ bit trong caùc SFR (80H - FFH). Coù 3 caùch ñeå xaùc ñònh ñòa chæ bit trong oâ nhôù döõ lieäu: Duøng ñòa chæ bit tröïc tieáp, duøng hoaït ñoäng ñieåm giöõa ñòa chæ byte vaø ñòa chæ bit, duøng kyù hieäu bieân dòch ñaõ ñöôïc ñònh nghóa. Ví duï: SETB 0E7H : Duøng ñòa chæ tröïc tieáp. SETB ACC, 7 :Duøng hoaït ñoäng ñieåm. JNZ T1 ,$ : Duøng kyù hieäu ñöôïc ñònh nghóa “TT”. 3.10 Ñòa chæ maõ (Code Address): Ñòa chæ maõ ñöôïc duøng trong toaùn haïng cho caùc leänh nhaûy, bao goàm caùc söï nhaûy töông ñoái (nhö SJMP vaø caùc leänh nhaûy coù ñieàu kieän), caùc söï nhaûy vaø caùc söï goïi tuyeät ñoái (ACALL , AJMP). Ñòa chæ maõ thöôøng ñöôïc cho ôû daïng nhaõn sau: HERE: _ _ _ SJMP HERE ASM51 seõ xaùc ñònh ñòa chæ maõ ñuùng vaø loàng vaøo Offset ñuùng ñöôïc kyù hieäu 8 bit leänh, ñòa chæ trang 11 bit hoaëc ñòa chæ daøi 16 bit cho thích hôïp.
  5. 3.11 Caùc söï nhaûy vaø goïi chung ( generic Jump and Calls): ASM51 cho pheùp ngöôøi laäp trình duøng thuaät nhôù JMP chung hay CALL chung. Leänh “JMP “coù theå ñöôïc duøng thay cho “SJMP, AJMP, LJMP“ vaø “CALL” coù theå thay cho ACALL hay LCALL. Söï bieân dòch bieán ñoåi thuaät nhôù chung ñeám moät leänh “thöïc teá“ sau vaøi qui luaät ñôn giaûn, thuaät nhôù chung bieán ñoåi thaønh daïng tuyeät ñoái neáu nhaûy hay goïi trong trang 2k. Neáu caùc daïng ngaén vaø tuyeät ñoái khoâng duøng thì seõ ñöôïc chuyeån thaønh daïng daøi. 4. Söï tính toaùn bieåu thöùc cuûa Assemble Time (Assemble Time Expression Evaluation): Khi moät bieåu thöùc ñöôïc duøng, söï bieân dòch tính toaùn giaù trò loàng vaøo leänh ñoù. 4.1 Caùc cô sôû soá (Number Basses): Cô sôû caùc haèng soá phaûi ñöôïc theo sau caùc soá nhò phaân “B”, theo sau soá Octal “O”, hoaëc “Q”, theo sau soá thaäp phaân “D” hay khoâng coù gì , theo soá Hexa “H”. Ví duï: MOV A, # 15 : Thaäp phaân MOV A , 1111B : Nhò phaân MOV A , 30H : Hex MOV A , 315D : Thaäp phaân MOV A , 317Q : Octal

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản