Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"PDP-11"

Заключающая работа 2 семестра по программированию

Эмулятор машины PDP11

Реализованы основные функции, такие как:mov(movb),add, tst(tstb), br(...), sob, ...

Также реализована большая трассировка(-T):

001000 012701: MOV	#200, R1		R1 <- [1002] = 200 
nzc  0:000000 1:000000 2:000000 3:000000 4:000200 5:000000 sp:000000 pc:001004
001004 112100: MOVb	(R1)+, R0		R0 <- [200] = 110 
nzc  0:000110 1:000000 2:000000 3:000000 4:000201 5:000000 sp:000000 pc:001006
001006 001406: BEQ	1024
nzc  0:000110 1:000000 2:000000 3:000000 4:000201 5:000000 sp:000000 pc:001010
001010 105737: TSTb	@#177564		[177564] = 200
...

Которая выводит значения регистров ,флаги, адрес, код функции, расшифровку функции и раскрывает функции mov и movb на каждом шагу.

Малая трассировка(-t):

001000 012701: MOV	#200, R1		R1 <- [1002] = 200 
001004 112100: MOVb	(R1)+, R0		R0 <- [200] = 110 
001006 001406: BEQ	1024
001010 105737: TSTb	@#177564		[177564] = 200
001014 100375: BPL	1010
001016 110037: MOVb	R0, @#177566		[177566] <- R0 = 110 <H>
001022 000770: BR	1004
...

Которая выводит все кроме значений регистров и флагов на каждом шагу.

Без трассировки исполнение выглядит так:

======================== running ==============================
Hello, world!
======================== halted ===============================
R0 = 000000 R2 = 000000 R4 = 000000 sp = 000000	
R1 = 000216 R3 = 000000 R5 = 000000 pc = 001026

Данный пример разобран на основе теста №8 (putstr.o)

About

Emulator PDP-11 project

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages