Skip to content

Commit

Permalink
Added Assembler 4004 and update Assembler 8051 (#1537)
Browse files Browse the repository at this point in the history
* Added Assembler 4004

* Update Assembler 8051
  • Loading branch information
CloverGit committed Jan 1, 2024
1 parent db0911b commit 0f3bbdb
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 26 deletions.
24 changes: 0 additions & 24 deletions #/8051 Assembly

This file was deleted.

60 changes: 60 additions & 0 deletions a/Assembler 4004.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
; H e l l o W o r l d
; 48 65 6C 6C 6F 20 57 6F 72 6C 64
START
LDM $4 ; High nibble of letter 'H'
WRR ; Write to ROM output port
LDM $8 ; Low nibble of letter 'H'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'e'
WRR ; Write to ROM output port
LDM $5 ; Low nibble of letter 'e'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'l'
WRR ; Write to ROM output port
LDM $C ; Low nibble of letter 'l'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'l'
WRR ; Write to ROM output port
LDM $C ; Low nibble of letter 'l'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'o'
WRR ; Write to ROM output port
LDM $F ; Low nibble of letter 'o'
WRR ; Write to ROM output port

LDM $2 ; High nibble of 'space'
WRR ; Write to ROM output port
LDM $0 ; Low nibble of 'space'
WRR ; Write to ROM output port


LDM $5 ; High nibble of letter 'W'
WRR ; Write to ROM output port
LDM $7 ; Low nibble of letter 'W'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'o'
WRR ; Write to ROM output port
LDM $F ; Low nibble of letter 'o'
WRR ; Write to ROM output port

LDM $7 ; High nibble of letter 'r'
WRR ; Write to ROM output port
LDM $2 ; Low nibble of letter 'r'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'l'
WRR ; Write to ROM output port
LDM $C ; Low nibble of letter 'l'
WRR ; Write to ROM output port

LDM $6 ; High nibble of letter 'd'
WRR ; Write to ROM output port
LDM $4 ; Low nibble of letter 'd'
WRR ; Write to ROM output port
END
JUN END
28 changes: 28 additions & 0 deletions a/Assembler 8051.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
ORG 00H
SJMP INIT

INIT:
; Timer1 as the UART1 buadrate generator
MOV TMOD, #20H ; Timer1, 8-bit auto-reload mode
MOV TH1, #0FDH ; 9600 baudrate at 11.0592MHz
MOV SCON, #50H ; Serial mode 1, enable reception
SETB TR1 ; Start Timer1
MOV DPTR, #20H ; Point DPTR to the start of the string

SEND:
CLR A
MOVC A, @A+DPTR ; Get the next character
INC DPTR
JZ DONE ; End program if the character is null
MOV SBUF, A ; Send the character
JNB TI, $ ; Wait for transmission to complete
CLR TI ; Clear TI flag
SJMP SEND

DONE:
SJMP $ ; Endless loop

ORG 20H
DB 'Hello World', 0

END
5 changes: 3 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Thanks to everyone who continues to contribute; new languages are created every
Make sure to see [contributing.md](/contributing.md) for instructions on contributing to the project!

<!--Languages start-->
## Languages (1000 total)
## Languages (1001 total)

* [!](%23/%21)
* [!@#$%^&*()_+](%23/%21%40%23%24%25%5E%26%E2%88%97%28%29_%2B)
Expand All @@ -27,7 +27,6 @@ Make sure to see [contributing.md](/contributing.md) for instructions on contrib
* [4test](%23/4test)
* [4th Dimension](%23/4th%20Dimension.4dd)
* [6969 Assembler](%23/6969%20Assembler)
* [8051 Assembly](%23/8051%20Assembly)
* [8th](%23/8th)
* [@tention!](%23/%40tention%21)
* [@text](%23/%40text)
Expand Down Expand Up @@ -111,11 +110,13 @@ Make sure to see [contributing.md](/contributing.md) for instructions on contrib
* [Asm2bf](a/Asm2bf.asm)
* [ASP](a/ASP.asp)
* [Aspectj](a/Aspectj.aj)
* [Assembler 4004](a/Assembler%204004.asm)
* [Assembler 6502](a/Assembler%206502.asm)
* [Assembler 6502appleII](a/Assembler%206502appleII.asm)
* [Assembler 6502c64](a/Assembler%206502c64.asm)
* [Assembler 6809vectrex](a/Assembler%206809vectrex.asm)
* [Assembler 8048 videopac](a/Assembler%208048%20videopac.asm)
* [Assembler 8051](a/Assembler%208051.asm)
* [Assembler ARM aarch64](a/Assembler%20ARM%20aarch64.s)
* [Assembler ARM](a/Assembler%20ARM.s)
* [Assembler Atari 2600](a/Assembler%20Atari%202600.asm)
Expand Down

0 comments on commit 0f3bbdb

Please sign in to comment.