첫째, 실험적인 요구 사항
둘째, 코드 구현
1 가정 : CS 코드 DS : 데이터 (2) (3) 데이터 세그먼트 4 DB 10 DUP ( 0 ) (5) 데이터 단부 (6) (7) 코드 세그먼트 8 개시 : MOV의 AX, 12,666 9 10 MOV를 BX, 데이터 (11) 의 mov , DS를 BX 12 MOV SI, 0 13 14 호 dtoc 15 16 MOV의 DH, 8 ; 定义行(0-24) 17 MOVDL, . 3 , 정의 컬럼 (0-79) (18)는 MOV CL, 2 , 지정 색 . 19 호 show_str , 인쇄 문자 서브 루틴 호출 (20)이 21 MOV AX, 4c00h 22는 INT 21H (23)가 24 : DTOC 푸시 DX 25 푸시 CX 26은 푸시 AX (27) 누름 시 28 푸시 BX 29 30 MOV BX, 0 , 임시 저장소 자의 스택 변성 서브 프로그램, 저장하기 위해 사용 BX 비트 31은 32 S1 : MOV CX ,. 1 0D , D는, CX는 이외에 제조 진수 나타내는 33 MOV , DX는 0 (34)은 35 DIV의 CX ; 10으로 나눈 36 MOV CX, AX를 , CX 할당 몫 37 [ jcxz S2 38 인 39 추가 DX, 30H ; 나머지 플러스 ASCII 코드 30H는 대응 수득 40 푸시 DX (41)는 42가 된다 INC BX 43 인 JMP 짧은 S1 44되는 45 : S2 추가 DX, 30H , 공급자가 0이고, 나머지 비트 인 경우 46이고 푸시DX 47 INC는 BX , 다시 스택 오퍼레이션 (상업적 0이고 나머지가 0이 아닌) 48 49 MOV CX, BX , 스택에 총 BX 비트, 그래서 디지털 BX 순환되는 50 MOV 실리콘을 0 (51)은 52 인 S3은 : POP AX는 , 순차적으로 적층 지정된 데이터 부에 (메모리)에 데이터를 저장한다 (53)가 54 MOV [시] 알 55 INC는 시 (56)가 (57)가 루프 S3 58 (59) : 좋아 POP BX 60 POP 시 61된다 POP AX 62 인 POP CX (63)는 POP DX 64 65 RET 66 67 show_str : 푸시 CX (68) 누름 시 69 70 MOV 알, 0A0h , 각각 160 바이트의 행 (71)가 온 12월 DH ] . 광고 0부터 번호 요구 감산 1 72 MUL DH , 여행객을 추구 (결과는 도끼로 저장된) 오프셋 (73)은 MOV를 BX, AX , 임시 행 오프셋을 등록 BX 74 75 MOV 알, (2) , 라인 (2 개) 캐릭터 (76) 12월에서DL은 , 열 번호 시작 0으로부터 감산해야 1. 77 MUL DL을 , 결정된 열 (결과는 도끼로 저장된) 오프셋 78 79 추가 BX, AX , 캐릭터가 가산되어, 행 오프셋 및 열 제 어드레스 메모리 스트링 오프셋 어드레스 80 81 82 MOV AX, 0b800h , 메모리 세그먼트 어드레스 83 개 MOV의 ES, AX , 레지스터에 세그먼트 어드레스 기존 ES 저장 84 85 86 MOV DI, 0 , 비디오 메모리 전송 열 값 87 MOV CH, 0 88 MOV 알, CL , 하부의 색 데이터 레지스터 AX에 저장 (89) 90 S : MOV CL, DS : [시] , 전송 데이터 (91)는 jcxz OK는 , 데이터를 원래의 데이터로 모든 원시 데이터가 처리되었다는 것을 표시하는 시간을 0으로 시프트 (92) , 그 라벨 OK로 이동 93 94 MOV ES : [BX + DI, CL , 데이터를 전송 (95) MOV ES는 : [DI + BX + . 1 , 알루미늄 , 투과 색상 96 97 INC는 실리콘 , 프로세스 각 바이트 오프셋 증분 1 개. 98 추가 DI, 2 , 처리 당 2 바이트 (데이터 및 컬러 속성을 포함), 오프셋 어드레스 2 증분 99 JMP짧은 S 100 101 OK : 팝업 SI 102 팝 CX 103 RET 104 코드 단부 (105) 단부 개시
셋째, 시스템 디버깅
계속되는
사진 첫번째 결과를 업로드