360 彙編/360 系列
外觀
有多臺不同的計算機使用了 360 機器架構。這些包括
- IBM 360 系列,Univac 90/60 和 90/70 系列,RCA Spectra 70 系列,英國電力系統 4 系列,西門子 7.7xx,7.5xx 和 H60/H90/H120 系列。
- IBM 370 和富士通 B2000 是 360 系列的增強版,而 Univac 90/80 也是如此。
- IBM 370 的較小版本也以 43xx 系列釋出。
- 370 的較大版本以 30xx 系列釋出。
- 370 的一箇中間升級版以 ESA/390 釋出。
- z/System 與 370/390 系列類似,不同之處在於 z/System 是 64 位機器,而 IBM 370 及其前身是 32 位機器。
在軟體模擬中,有一些專有應用程式和三個開源應用程式
- Z390 可移植彙編器為用匯編語言或 Cobol 編寫的程式提供了一個 Assembler-H(高階)等效彙編器、Cobol 編譯器、連結編輯器和執行環境。
- Hercules 系統提供了對 System 370 或 z/System 硬體的模擬,足以執行基於 IBM 的作業系統和在這些系統中執行的使用者程式。
- QEMU 是一個針對許多平臺的開源模擬器,包括 z/Architecture(它稱之為 s390x)。它只支援執行 Linux 作為客戶機作業系統。
360 架構是一個大端機器(與典型的英特爾或 AMD x86 處理器(小端)相反),因為值按從高到低的順序儲存。例如,16 位值 256 將在 360 系列機器上以(十六進位制)0100 儲存,但在英特爾奔騰上以 0001 儲存。另一方面,數字 1 如果呈現為 16 位數字,將在 360 上以(十六進位制)0001 儲存,而在奔騰上以 0100 儲存。此外,360/370/Z-System 上的標準字元集是 EBCDIC,而奔騰/X86/X64 使用 ASCII(和 Unicode,ASCII 的超集)。這會導致將二進位制資料檔案(甚至文字檔案)從一臺機器轉換為另一臺機器時出現許多問題。
位元組、半字、字、雙字和四字的位順序從左到右進行,位 0 是最高有效位,而位元組中的位 7、半字中的位 15、字中的位 31 或雙字中的位 63 是最低有效位。以下是位、位元組、半字、字和雙字的對應關係
| 雙字 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 字 0 | 字 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 半字 0 | 半字 1 | 半字 2 | 半字 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 位元組 0 | 位元組 1 | 位元組 2 | 位元組 3 | 位元組 4 | 位元組 5 | 位元組 6 | 位元組 7 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 位 # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 或 | 雙字 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 位 # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
| 360 組合語言 | |
| 360 系列 | 簡介 · 基本問答 · 360 系列 · 360 架構 |
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令 |
| 語法和彙編器 | 360 彙編器· 偽指令 |
| 指令擴充套件 | 浮點 · 高階語言 |