计组实验5
; //*************************************// ; // // ; // 复杂模型机实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************// ; //***** Start Of Main Memory Data *****// $P 00 20 ; START: IN R0,00H 从IN单元读入计数初值 $P 01 00 $P 02 D0 ; STA 6FH,R0 ------------------------ $P 03 6F $P 04 70 ; INC R0 ----------------------- $P 05 70 ; INC R0 ----------------------- $P 06 61 ; LDI R1,0FH 立即数0FH送R1 $P 07 0F $P 08 14 ; AND R0,R1 得到R0低四位 $P 09 61 ; LDI R1,00H 装入和初值00H $P 0A 00 $P 0B F0 ; BZC RESULT 计数值为0则跳转 $P 0C 1C $P 0D 62 ; LDI R2,60H 读入数据始地址 $P 0E 60 $P 0F CB ; LOOP: LAD R3,[RI],00H 从MEM读入数据送R3,变址寻址,偏移量为00H $P 10 00 $P 11 0D ; ADD R1,R3 累加求和 $P 12 D9 ; STA [R2]+11H,R1 -----------------------------Here $P 13 11 $P 14 72 ; INC R2 变址寄存加1,指向下一数据 $P 15 63 ; LDI R3,01H 装入比较值 $P 16 01 $P 17 8C ; SUB R0,R3 $P 18 F0 ; BZC RESULT 相减为0,表示求和完毕 $P 19 1C $P 1A E0 ; JMP LOOP 未完则继续 $P 1B 0F $P 1C D1 ; RESULT: STA 70H,R1 和存于MEM的70H单元 $P 1D 70 $P 1E 34 ; OUT 40H,R1 和在OUT单元显示 $P 1F 40 $P 20 E0 ; JMP START 跳转至START $P 21 00 $P 22 50 ; HLT 停机 $P 60 01 ; 数据 $P 61 02 $P 62 03 $P 63 04 $P 64 05 $P 65 06 $P 66 07 $P 67 08 $P 68 09 $P 69 0A $P 6A 0B $P 6B 0C $P 6C 0D $P 6D 0E $P 6E 0F ; //***** End Of Main Memory Data *****// ; //** Start Of MicroController Data **// $M 00 000001 ; NOP $M 01 006D43 ; PC->AR, PC加1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; RS->B $M 05 04B201 ; A加B->RD $M 06 002407 ; RS->B $M 07 013201 ; A与B->RD $M 08 106009 ; MEM->AR $M 09 183001 ; IO->RD $M 0A 106010 ; MEM->AR $M 0B 000001 ; NOP $M 0C 103001 ; MEM->RD $M 0D 200601 ; RD->MEM $M 0E 005341 ; A->PC $M 0F 0000CB ; NOP, P<3> $M 10 280401 ; RS->IO $M 11 103001 ; MEM->RD $M 12 06B201 ; A加1->RD $M 13 002414 ; RS->B $M 14 05B201 ; A减B->RD $M 15 002416 ; RS->B $M 16 01B201 ; A或B->RD $M 17 002418 ; RS->B $M 18 02B201 ; A右环移->RD $M 1B 005341 ; A->PC $M 1C 10101D ; MEM->A $M 1D 10608C ; MEM->AR, P<2> $M 1E 10601F ; MEM->AR $M 1F 101020 ; MEM->A $M 20 10608C ; MEM->AR, P<2> $M 28 101029 ; MEM->A $M 29 00282A ; RI->B $M 2A 04E22B ; A加B->AR $M 2B 04928C ; A加B->A, P<2> $M 2C 10102D ; MEM->A $M 2D 002C2E ; PC->B $M 2E 04E22F ; A加B->AR $M 2F 04928C ; A加B->A, P<2> $M 30 001604 ; RD->A $M 31 001606 ; RD->A $M 32 006D48 ; PC->AR, PC加1 $M 33 006D4A ; PC->AR, PC加1 $M 34 003401 ; RS->RD $M 35 000035 ; NOP $M 36 006D51 ; PC->AR, PC加1 $M 37 001612 ; RD->A $M 38 001613 ; RD->A $M 39 001615 ; RD->A $M 3A 001617 ; RD->A $M 3B 000001 ; NOP $M 3C 006D5C ; PC->AR, PC加1 $M 3D 006D5E ; PC->AR, PC加1 $M 3E 006D68 ; PC->AR, PC加1 $M 3F 006D6C ; PC->AR, PC加1 ; //** End Of MicroController Data **//