1
그래서 저는 파일에서 숫자를 가져 와서 짝수인지 홀수인지를 알려주는 ARM 프로그램을 만들고 있습니다. 나는 코드의 관점에서 무엇을ARM의 if 문과 동일한 기능은 무엇입니까?
문제는 내가 0.5를 곱하는 방법을 알고,하지만 난 ARM 여기
if (A/2 == 0)
print even
else
print odd
이 높은 수준의 문 같은 작업을 수행하는 방법을 모르는 것입니다 :
@open input file
ldr r0,=FileName @ set Name for input file
mov r1,#0 @ mode is input
swi SWI_Open @ open file for input
bcs InFileError @ if error?
ldr r1,=InFileHandle @ load input file handle
str r0,[r1] @ save the file handle
@read integers from input file
NUMBERS:
ldr r0,=InputFileHandle @ load input file handle
ldr r0,[r0]
swi SWI_RdInt @ read the integer into R0
bcs EofReached @ Check Carry-Bit (C): if= 1 then EOF reached
@multiplication by 0.5 to test for odd or even
MUL R2 R0 0.5
@what is the test in ARM
@for (R0/0.5) == a multiple of 1?
B NUMBERS
LOOP:
@end of program
Message1: .asciz"Hello World!"
EOL: .asciz "\n"
NewL: .ascii "\n"
Blank: .ascii " "
FileName: .asciz"input.txt"
.end
그래서 파일에서 입력하고 정수를 읽는 처음 두 가지가 작동한다고 생각합니다. 나는 그것이 2로 나눌 수있는 조건을 테스트하는 방법을 모른다. 나는 0.5로 곱해 졌다고 생각하고, 다음 단계는 그 수의 끝에는 소수점이 없더라도 말하기위한 것이다. , 그렇다면 숫자 B로 나눈 숫자 A는 홀수입니다. 그렇지 않으면 짝수입니까?
감사합니다. 나는 프로그래밍에서 뭘 알고있다, 나는 잠시 동안 잊어 버렸다. 나는 %가 모듈러스 연산자임을 압니다. 내가 타이핑했을 때 나는 정말로 피곤했다. – user3695903
LSB의 가치를 확인하는 방법에 대한 기사 링크를 보내 줄 수 있습니까? 내가하고있는 일을 알고 싶다. 예제를 제공해 줄 수 있습니까? – user3695903
기사가 없습니다. 기본 작업입니다. ARM asm을 배우고 있다면 ARM Reference Manual이 있습니다. 그렇습니까? 그렇지 않은 경우 - Google을 다운로드하고 다운로드해야합니다. TST 명령을 보거나 ANDS R0, R0, # 1 - 동일한 작업을 수행하지만 R0 ..의 내용을 파괴합니다. (추신 : 실수를 바로 잡기 위해 질문을 편집 할 수 있습니다.) –