Khác biệt giữa các bản “Universal architechture”

# IDLE Nghỉ
=== Bảng mã opcode ===
Tập lênh
Các toán tử của vi lệnh là thanh ghi, tuyvới nhiênthanh chỉghi đượcngoại mộttrừ trongL/S 2 hoặcthể 3thanh ghi - bộ nhớ.
Dấu ghạch ngang '-' là thay đổi tuỳ thuộc vào câu lệnh.
Mỗi opcode là tương ứng cho một lệnh của hợp ngữ điều này tạo điều kiện cho lập trình viên dễ hiểu hơn khi lập trình.
| 2 || ADDU || addu %rd,%rs,%rt || 00000011 ---dddddddsssssssttttttt || Cộng không dấu, %rd=%rs+%rt
|-
| 4 || ADDI || addiw %rd,$0xfff || 00000100 ---dddddddsssssssiiiiiii || Cộng toán tử với hằng 7 bit, %rd=%rdrs+$imm7
|-
| 5 || SUB || sub %rd,%rs,%rt || 00001000 ---dddddddsssssssttttttt || Trừ
| 23 || CMP || cmp %rd,%rs,%rt || 00000000 ---dddddddssssssssttttttt || rd = rs cmp rt
|-
| 25 || ADDIW || addiw %rd,imm16 || 00000000 -ddddddd + imm16 || Cộng, %rd=%rd+imm16
| 24 || CP{B,W,D,Q,DQ} || CP %rd,%rs || 00000000 mmmdddddddsssssssscccczzz || %rd := %rs,copy nội dung mode từ s->d dựa vào điều kiện cccc kích thước zzz
|-
| 3026 || JI SUBIW || ji $imm24 bit subiw %rd,imm16 || 10000000 imm2400000000 ||-ddddddd Nhảy+ imm16 điều kiện tới 20 bits|| liênTrừ, quan%rd=%rd+imm16
|-
| 3130 || JIccJI || jiCCji $imm21imm24 bit || 10000001 ccc imm21 || 10000000 imm24 || Nhảy điều kiện tới 2024 bit liên quan, 3 bít điều kiệnbits tuơng cđối
|-
| 31 || JIcc || JICC $imm20 bit || 10000001 cccc imm20 || Nhảy điều kiện tới 20 bit tuơng đối, 4bit diều kiện
|-
| 32 || JR || jmp (%rr) || 10000101 -rrrrrrr || Nhảy vô điều kiện tới thanh ghi (%rr),opcode 2 bytes
|-
| 33 || JRcc || JccJRcc (%rd),(%rr)rs || 10000111 cccdddddddrrrrrrr 8 bit offset---dddddddssssssscccc--- || Nhảy có điều kiện tới (%rrrd)+$offset,lưu IP vào %rs 4 bit điều kiện
|-
| 60 || L{B,W,D,Q}Lzz || lb 0xoff_t(%rs),%rd || 11000000 tt sssssss ddddddd + 8 bit off_t || 11000000 mmmsssssssdddddddcccczzz || tải 1,2,4,8,16 bytebytes bộ nhớ (%rs)+offset vào thanh ghi %rd
|-
| 6263 || LQD Szz || lqdLs 0xoffset(%rs),%rd || 11000001 ---sssssssddddddd + 7 bit off_t || tải11111111 mmmsssssssdddddddcccczzz || Lưu 1,2,3,4,8,16 bytes bộ nhớtừ (%rs)+offsetrd vào thanh ghi (%rdrs)
|-
| 6365 || S{B,W,D,Q}LIR || Lsli 0xoff_t(%rs) $imm16,%rd || 11111111 ---sssssssdddddddMddddddd + 7imm16 bit off_t || Lưu 1,2,3,4imm16 vào op,8 bytesbit từM %rd vàomode của op(%rsthanh ghi hay bộ nhớ)+offset
|-
| 6466 || SQD CALLI || sqdicall $imm24 0xoff_t(%rs),%rd || 11111111 ---sssssssddddddd + 7 bit off_timm24 || LưuGọi 16tới bytesđịa từchỉ %rdtuơng đối 24 bit,IP lưu vào (%rs)+offset
|-
| 65 || LIR || li $imm16,%rd || 11111111 -ddddddd + imm16 || Lưu imm16 vào %rd
|-
| 66 || CALLI || icall $imm24 || 11111111 + imm24 || Gọi tới địa chỉ tuơng đối 24 bit
|-
| 67 || CALLR || rcall %rr || 11111111 + -ddddddd || Gọi tới địa chỉ tuyệt đối trong (%rr),opcode 2 bytes
| 69 || SYSCALL || syscall || 11111111 111111111 || gọi đến hàm hệ thống,opcode 2 bytes
|-
| 70 || SYSRET || sysret || 11111111111111111 || Trở về từ lời gọi hàm
|-
| 80 ||
|}
{| class="wikitable"
229

lần sửa đổi