LC3:越来越怪异Ÿ的为输出LEA后使用TRAP X22时

问题描述 投票:1回答:1

背景:

我正在写其中请求用户输入“1”或“2”,则该值的ASCII值由-49加入的程序,并根据如果总和为0或1,字符串将被打印。

冲突:

当我模拟我的代码,我在控制台得到these weird y's。我试着用LD,而不是执法机关,但没有解决任何事情。我还注意到in my simulation,有没有一个案例2字符串(CAS2S)的任何地方,但我能看到CAS1S。我不知道这意味着什么,但我怀疑,这可能有助于我的问题。任何帮助将不胜感激。

谢谢!

码:

    .ORIG x3000

; INPUT REQUEST: Store input value into R0
START   TRAP x23

; FILL PROCESS: Put value -49 in address of FN. Load value in FN address (-49) into R4
    LD R4, FN

; CASE CREATION: Add -49 (R4) to input value (R0)
    ADD R3, R0, R4

; BRANCHES: If R3 = 0, execute Case 1 Instruction. If R3 > 0 (specifically if R3 = 1), execute Case 2 Instruction
    BRz CAS1I
    BRp CAS2I

; BRANCH CASES:

; CASE 1 INSTRUCTION: Load Case 1 String into R1. Print string in R1. Jump to  START (input request).
CAS1I   LEA R1, CAS1S
    TRAP x22
    BRnzp START

; CASE 2 INSTRUCTION: Load Case 2 String into R2. Print string in R2. Jump to  START (input request).
CAS2I   LEA R2, CAS2S
    TRAP x22
    BRnzp START

; STRING STORAGE: Store input patterns in Case 1 String and Case 2 String
CAS1S   .STRINGZ "1100\n0110\n0011\n1001\n1100\n0110\n0011\n1001\n1100\n0110\n0011\n1001\n1100\n1001\n0011\n0110\n1100\n1001\n0011\n0110\n1100"
CAS2S   .STRINGZ "1100\n1001\n0011\n0110\n1100"

FN  .FILL #-49

    .END
assembly lc3
1个回答
0
投票

反应迟缓,但这是因为空结束的字符串,你要打印的需求是在R0。

© www.soinside.com 2019 - 2024. All rights reserved.