mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-19 18:46:43 +00:00
unifying coding style with the documented snippets
parent
12ad21a993
commit
2e70adae41
@ -1,56 +1,56 @@
|
|||||||
```assembly
|
```assembly
|
||||||
; Displaying the hexadecimal 0x000A
|
; Displaying the hexadecimal 0x000A
|
||||||
HWID_HOLO EQU 0x9 ;; setup constants
|
HWID_HOLO EQU 0x9 ; setup constants
|
||||||
HOLO_DISPLAY_HEX EQU 1
|
HOLO_DISPLAY_HEX EQU 1
|
||||||
.data
|
.data
|
||||||
DISPLAYED_HEX EQU 0X000A ;; create a word in memory called DISPLAYED_HEX and set its value to 0x000A
|
DISPLAYED_HEX EQU 0X000A ; create a word in memory called DISPLAYED_HEX and set its value to 0x000A
|
||||||
.text
|
.text
|
||||||
MOV A, HOLO_DISPLAY_HEX ;; MOV the constant HOLO_DISPLAY_HEX into register A
|
MOV A, HOLO_DISPLAY_HEX ; MOV the constant HOLO_DISPLAY_HEX into register A
|
||||||
MOV B, [DISPLAYED_HEX] ;; MOV the value inside the memory spot DISPLAYED_HEX into register B
|
MOV B, [DISPLAYED_HEX] ; MOV the value inside the memory spot DISPLAYED_HEX into register B
|
||||||
HWI HWID_HOLO ;; create an hardware interrupt which will do the magic of displaying
|
HWI HWID_HOLO ; create an hardware interrupt which will do the magic of displaying
|
||||||
BRK ;; halt execution for the rest of this tick
|
BRK ; halt execution for the rest of this tick
|
||||||
```
|
```
|
||||||
```assembly
|
```assembly
|
||||||
; Displaying the string "hello!"
|
; Displaying the string "hello!"
|
||||||
HWID_HOLO EQU 0x9 ;; setup constants
|
HWID_HOLO EQU 0x9 ; setup constants
|
||||||
HOLO_DISPLAY_STRING EQU 2
|
HOLO_DISPLAY_STRING EQU 2
|
||||||
.data
|
.data
|
||||||
DISPLAYED_STRING: DW "hello!", 0 ;; create a string in memory and point to it by DISPLAYED_STRING
|
DISPLAYED_STRING: DW "hello!", 0 ; create a string in memory and point to it by DISPLAYED_STRING
|
||||||
;; the ',0' is a null word. This represents the end of the string
|
; the ',0' is a null word. This represents the end of the string
|
||||||
.text
|
.text
|
||||||
MOV A, HOLO_DISPLAY_STRING ;; MOV the constant HOLO_DISPLAY_STRING into register A
|
MOV A, HOLO_DISPLAY_STRING ; MOV the constant HOLO_DISPLAY_STRING into register A
|
||||||
MOV X, DISPLAYED_STRING ;; MOV the pointer of DISPLAYED_STRING into register B
|
MOV X, DISPLAYED_STRING ; MOV the pointer of DISPLAYED_STRING into register B
|
||||||
HWI HWID_HOLO ;; do the magic
|
HWI HWID_HOLO ; do the magic
|
||||||
BRK ;; halt execution until the next tick
|
BRK ; halt execution until the next tick
|
||||||
```
|
```
|
||||||
```assembly
|
```assembly
|
||||||
; Displaying the decimal 42
|
; Displaying the decimal 42
|
||||||
HWID_HOLO EQU 0x9 ;; setup constants
|
HWID_HOLO EQU 0x9 ; setup constants
|
||||||
HOLO_DISPLAY_DEC EQU 3
|
HOLO_DISPLAY_DEC EQU 3
|
||||||
.data
|
.data
|
||||||
DISPLAYED_DECIMAL EQU 42 ;; create a word in memory called DISPLAYED_DECIMAL and set its value
|
DISPLAYED_DECIMAL EQU 42 ; create a word in memory called DISPLAYED_DECIMAL and set its value
|
||||||
;; to 42
|
; to 42
|
||||||
.text
|
.text
|
||||||
MOV A, HOLO_DISPLAY_DEC ;; MOV the constant HOLO_DISPLAY_DEC into register A
|
MOV A, HOLO_DISPLAY_DEC ; MOV the constant HOLO_DISPLAY_DEC into register A
|
||||||
MOV B, DISPLAYED_DECIMAL ;; MOV the value inside the memory spot DISPLAYED_HEX into register B
|
MOV B, DISPLAYED_DECIMAL ; MOV the value inside the memory spot DISPLAYED_HEX into register B
|
||||||
HWI HWID_HOLO ;; more magic
|
HWI HWID_HOLO ; more magic
|
||||||
BRK ;; halt execution until next tick
|
BRK ; halt execution until next tick
|
||||||
```
|
```
|
||||||
```assembly
|
```assembly
|
||||||
; Displaying the decimal 42 in red
|
; Displaying the decimal 42 in red
|
||||||
HWID_HOLO EQU 0x9 ;; setup constants
|
HWID_HOLO EQU 0x9 ; setup constants
|
||||||
HOLO_DISPLAY_DEC EQU 3
|
HOLO_DISPLAY_DEC EQU 3
|
||||||
HOLO_DISPLAY_COLOR EQU 4
|
HOLO_DISPLAY_COLOR EQU 4
|
||||||
.data
|
.data
|
||||||
DISPLAYED_DECIMAL EQU 42 ;; create a word in memory called DISPLAYED_DECIMAL and set its value
|
DISPLAYED_DECIMAL EQU 42 ; create a word in memory called DISPLAYED_DECIMAL and set its value
|
||||||
;; to 42
|
; to 42
|
||||||
.text
|
.text
|
||||||
MOV A, HOLO_DISPLAY_COLOR ;; MOV the constant HOLO_DISPLAY_COLOR into register A
|
MOV A, HOLO_DISPLAY_COLOR ; MOV the constant HOLO_DISPLAY_COLOR into register A
|
||||||
MOV B, 0x00FF ;; MOV the (immediate) value 0x00FF into register B
|
MOV B, 0x00FF ; MOV the (immediate) value 0x00FF into register B
|
||||||
MOV C, 0x0000 ;; clear register C
|
MOV C, 0x0000 ; clear register C: no green and no blue
|
||||||
HWI HWID_HOLO ;; this interrupt will set the color to: #0000FF [C:B] also know as red
|
HWI HWID_HOLO ; this interrupt will set the color to: #0000FF [C:B] also know as red
|
||||||
MOV A, HOLO_DISPLAY_DEC ;; MOV the constant HOLO_DISPLAY_DEC into register A
|
MOV A, HOLO_DISPLAY_DEC ; MOV the constant HOLO_DISPLAY_DEC into register A
|
||||||
MOV B, DISPLAYED_DECIMAL ;; MOV the value that DISPLAYED_DECIMAL is pointing at into register B
|
MOV B, DISPLAYED_DECIMAL ; MOV the value that DISPLAYED_DECIMAL is pointing at into register B
|
||||||
HWI HWID_HOLO ;; ...
|
HWI HWID_HOLO ; ...
|
||||||
BRK ;; halt execution until next tick
|
BRK ; halt execution until next tick
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user