티스토리 뷰
https://github.com/TomerAberbach/mano-simulator
GitHub - TomerAberbach/mano-simulator: 🖥️ An assembler and hardware simulator for the Mano Basic Computer, a 16 bit compute
🖥️ An assembler and hardware simulator for the Mano Basic Computer, a 16 bit computer. - GitHub - TomerAberbach/mano-simulator: 🖥️ An assembler and hardware simulator for the Mano Basic Computer, a...
github.com
해당 사이트에서 mano-simulator를 다운 받을 수 있다.
releases 를 클릭한 후
mano-simulator-1.0-SNAPSHOT.jar 을 다운 받은 뒤
Java가 깔린 시스템의 명령어 창으로
java -jar mano-simulator-1.0-SNAPSHOT.jar 를 해주면 된다.
버전이 다를 수 있으므로 -jar 뒤에는 다운받은 jar의 이름을 넣어주면 된다.
오늘 해볼 프로그래밍은 최댓값 구하는 것이다.
40번지 주소에는 데이터의 개수가 저장되어 있다.
41번지 주소부터 데이터가 저장되어 있어서 41+N번지까지 데이터가 존재하게 된다.
Mano-CPU같은 경우에는 현재의 어셈블리어와 같이 CMP와 같은 명령어가 존재하지 않는다.
따라서 Max값에 저장된 값에서 데이터를 하나 읽어와 보수를 취한 다음 Max값과 더해주는 방식으로
Max - AC 를 해주어 Max 보다 큰지 작은지 비교해준다.
Max - AC < 0 이라면 Max < AC 이므로 값의 크기를 비교할 수 있다.
따라서 반복문을 통해서 위의 과정을 반복해주면 된다.
아래는 위에서 설명한 것을 코드로 구현한 것이다.
ORG 0 /Origin of program is HEX 0
LDA NUMB /Load Numb
CMA /2's complement Numb
INC
STA NBR /Store Numb to NBR
CLA /Clear AC
LOP, LDA PTR I /Load PTR Data
CMA /2's complement Data
INC
ADD MAX
SNA /If (PTR I)' + MAX >= 0
BUN CON /Go to CON,
LDA PTR I /Else
STA MAX /Store (PTR I) to MAX
CON, ISZ PTR
ISZ NBR
BUN LOP /Go LOP
HLT
NBR, hex 0
PTR, hex 41
ORG 40
NUMB, dec 10
/ Test Data 2
DATA, hex 1234
hex 2101
hex 7000
hex 4000
hex 7569
hex 6311
hex 1D20
hex 7821
hex 2097
hex 76FB
MAX, hex 0
END
'Computer Science > Mano-CPU' 카테고리의 다른 글
Mano-CPU sort 하기 (0) | 2021.10.29 |
---|
- Total
- Today
- Yesterday
- Mano-CPU
- BlackBoard Helper
- docker.sock
- systemctl start docker
- 마노시피유정렬
- Docker daemon
- 정보보호병
- fastapi 비동기 처리
- and will not be enabled for virtual device 'serial0' will start disconnected
- service docker start
- 탈단 후 입대
- 어셈블리 최댓값 찾기
- Win7#Win7지뢰찾기#Win7 지뢰찾기#지뢰찾기#Win7 32bit#32bit#MineSweeper.exe#MineSweeper#WinMine
- whitehat
- 2023 화이트햇
- express 아키텍쳐
- the virtual printing feature is globally disabled on this system
- chrome extension
- pwnable#basic_exploitation_003#dreamhack#dreamhack.io#SSG
- ict 인턴십
- 군 취약점 제보
- Mano-CPU 최댓값 찾기
- aiomysql
- Mano-CPU Sort
- fastapi
- vmware 화면 버벅거림
- 2024년 회고
- 탈단
- JS 개발
- Mano-CPU-Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |