Changeset 90
- Timestamp:
- Apr 8, 2017, 12:26:26 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootcode/regular/debug.asm
r89 r90 386 386 387 387 ; 388 ; Dump the registers .388 ; Dump the registers and flags. 389 389 ; 390 390 IF 1 … … 403 403 regES db ' BP:',0 404 404 405 ;~ regFS db 'FS:',0 406 ;~ regGS db ' GS:',0 405 regFS db 'FS:',0 406 regGS db ' GS:',0 407 408 db ' ' 409 410 flagsSF db ' SF:',0 411 flagsZF db ' ZF:',0 412 flagsAF db ' AF:',0 413 flagsPF db ' PF:',0 414 flagsCF db ' CF:',0 415 407 416 DEBUG_DumpRegisters Proc 408 417 pushf 409 418 pusha 410 419 420 ; Safe flags so they can be printed later 421 pushf 422 423 ; Save value in SI so it can be printed later 411 424 push si 425 426 ; Base of registers string 412 427 mov si, offset [regAX] 413 call AuxIO_Print 428 429 ; AX 430 call AuxIO_Print 431 call AuxIO_TeletypeHexWord 432 433 ; BX 434 call AuxIO_Print 435 mov ax,bx 436 call AuxIO_TeletypeHexWord 437 438 ; CX 439 call AuxIO_Print 440 mov ax,cx 441 call AuxIO_TeletypeHexWord 442 443 ; DX 444 call AuxIO_Print 445 mov ax,dx 446 call AuxIO_TeletypeHexWord 447 448 ; SI 449 call AuxIO_Print 450 pop ax 451 call AuxIO_TeletypeHexWord 452 453 ; DI 454 call AuxIO_Print 455 mov ax,di 456 call AuxIO_TeletypeHexWord 457 458 ; 1st row printed 459 call AuxIO_TeletypeNL 460 461 ; CS 462 call AuxIO_Print 463 mov ax,cs 464 call AuxIO_TeletypeHexWord 465 466 ; DS 467 call AuxIO_Print 468 mov ax,ds 469 call AuxIO_TeletypeHexWord 470 471 ; ES 472 call AuxIO_Print 473 mov ax,es 474 call AuxIO_TeletypeHexWord 475 476 ; SS 477 call AuxIO_Print 478 mov ax,ss 479 call AuxIO_TeletypeHexWord 480 481 ; SP 482 call AuxIO_Print 483 mov ax,sp 484 call AuxIO_TeletypeHexWord 485 486 ; BP 487 call AuxIO_Print 488 mov ax,bp 489 call AuxIO_TeletypeHexWord 490 491 ; 2nd row printed 492 call AuxIO_TeletypeNL 493 .386 494 ; FS 495 call AuxIO_Print 496 mov ax,fs 497 call AuxIO_TeletypeHexWord 498 499 ; GS 500 call AuxIO_Print 501 mov ax,gs 414 502 call AuxIO_TeletypeHexWord 415 503 ;~ call AuxIO_TeletypeNL 416 417 call AuxIO_Print 418 mov ax,bx 419 call AuxIO_TeletypeHexWord 420 ;~ call AuxIO_TeletypeNL 421 422 call AuxIO_Print 423 mov ax,cx 424 call AuxIO_TeletypeHexWord 425 ;~ call AuxIO_TeletypeNL 426 427 call AuxIO_Print 428 mov ax,dx 429 call AuxIO_TeletypeHexWord 430 ;~ call AuxIO_TeletypeNL 431 432 call AuxIO_Print 433 pop ax 434 call AuxIO_TeletypeHexWord 435 ;~ call AuxIO_TeletypeNL 436 437 call AuxIO_Print 438 mov ax,di 439 call AuxIO_TeletypeHexWord 440 call AuxIO_TeletypeNL 441 442 443 444 call AuxIO_Print 445 mov ax,cs 446 call AuxIO_TeletypeHexWord 447 ;~ call AuxIO_TeletypeNL 448 449 call AuxIO_Print 450 mov ax,ds 451 call AuxIO_TeletypeHexWord 452 ;~ call AuxIO_TeletypeNL 453 454 call AuxIO_Print 455 mov ax,es 456 call AuxIO_TeletypeHexWord 457 ;~ call AuxIO_TeletypeNL 458 459 call AuxIO_Print 460 mov ax,ss 461 call AuxIO_TeletypeHexWord 462 ;~ call AuxIO_TeletypeNL 463 464 call AuxIO_Print 465 mov ax,sp 466 call AuxIO_TeletypeHexWord 467 ;~ call AuxIO_TeletypeNL 468 469 call AuxIO_Print 470 mov ax,bp 471 call AuxIO_TeletypeHexWord 472 call AuxIO_TeletypeNL 473 474 ;~ call AuxIO_Print 475 ;~ mov ax,fs 476 ;~ call AuxIO_TeletypeHexWord 477 ;~ call AuxIO_TeletypeNL 478 479 ;~ call AuxIO_Print 480 ;~ mov ax,gs 481 ;~ call AuxIO_TeletypeHexWord 482 ;~ call AuxIO_TeletypeNL 483 504 .286 505 ; Restore the flags 506 popf 507 508 ; Load flags into AH 509 lahf 510 511 ; Base of flags string 512 ;~ mov si, offset [flagsSF] 513 514 ; SF 515 call AuxIO_Print 516 mov al, ah 517 shr al, 7 518 and al, 01h 519 add al, '0' 520 call AuxIO_Teletype 521 522 ; ZF 523 call AuxIO_Print 524 mov al, ah 525 shr al, 6 526 and al, 01h 527 add al, '0' 528 call AuxIO_Teletype 529 530 ; AF 531 call AuxIO_Print 532 mov al, ah 533 shr al, 4 534 and al, 01h 535 add al, '0' 536 call AuxIO_Teletype 537 538 ; PF 539 call AuxIO_Print 540 mov al, ah 541 shr al, 2 542 and al, 01h 543 add al, '0' 544 call AuxIO_Teletype 545 546 ; CF 547 call AuxIO_Print 548 mov al, ah 549 and al, 01h 550 add al, '0' 551 call AuxIO_Teletype 552 553 ; 3rd and last row printed 484 554 call AuxIO_TeletypeNL 485 555
Note:
See TracChangeset
for help on using the changeset viewer.