Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Easy68k assembler Ok, This is what i\'ve done already and im stuck! YELP! ORG $1

ID: 675468 • Letter: E

Question

Easy68k assembler

Ok, This is what i've done already and im stuck! YELP!

ORG $1000
START:   
* ~ Program ~

; Input String
move.b #14, d0
lea String, a1
trap #15
  
; read the string
move.b #2, d0
lea $2000, a1
trap #15
move.w d1,d2
  
; print the string and length
move.b #14, d0
lea msgString, a1
trap #15
lea $2000, a1
trap #15
lea msgLength, a1
trap #15
move.w d2, d1
move.b #3, d0
trap #15
  
SIMHALT ; halt simulator

* Put variables and constants here

LF EQU $0A
CR EQU $0D
  
String dc.b LF,'Write a String: ',0
msgString dc.b CR,LF,'The String: ',0
msgLength dc.b CR,LF,'Length: ',0
Palindrome dc.b CR,LF,'the string is palindrome',0
notPalindrome dc.b CR,LF,'the string is not palindrome',0

END START ; last line of source

Explanation / Answer

Answer:

DATA SEGMENT
STR1 DB "ENTER YOUR INPUT STRING HERE ->$"
STR2 DB "THE GIVEN INPUT STRING IS ->$"
STR3 DB "REVERSE OF GIVEN STRING IS ->$"
INSTR1 DB 20 DUP("$")
RSTR DB 20 DUP("$")
NEWLINE DB 10,13,"$"
N DB ?
S DB ?
MSG1 DB "THE ENTERED STRING IS PALINDROME$"
MSG2 DB "THE ENTERED STRING IS NOT PALINDROME$"
A DB "1"

DATA ENDS

CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:

MOV AX,DATA
MOV DS,AX

LEA SI,INSTR1

;GET THE STRING
MOV AH,09H
LEA DX,STR1
INT 21H

MOV AH,0AH
MOV DX,SI
INT 21H


MOV AH,09H
LEA DX,NEWLINE
INT 21H

;PRINT THE ENTERED STRING

MOV AH,09H
LEA DX,STR2
INT 21H

MOV AH,09H
LEA DX,INSTR1+2
INT 21H

MOV AH,09H
LEA DX,NEWLINE
INT 21H

;PRINT THE REVERSE OF THE ENTERED STRING

MOV AH,09H
LEA DX,STR3
INT 21H

MOV CL,INSTR1+1
ADD CL,1
ADD SI,2

K1:
INC SI

CMP BYTE PTR[SI],"$"
JNE K1

DEC SI

LEA DI,RSTR

K2:MOV AL,BYTE PTR[SI]

MOV BYTE PTR[DI],AL

DEC SI
INC DI
LOOP K2

MOV AH,09H
LEA DX,NEWLINE
INT 21H

MOV AH,09H
LEA DX,RSTR
INT 21H


MOV AH,09H
LEA DX,NEWLINE
INT 21H

;PRINT THE STRING IS WEATHER PALINDROME OR NOT

LEA SI,INSTR1
LEA DI,RSTR

MOV AH,09H
LEA DX,NEWLINE
INT 21H

ADD SI,2

K7:
MOV BL,BYTE PTR[DI]


CMP BYTE PTR[SI],BL
JNE KK2


INC SI
INC DI

MOV BL,BYTE PTR[DI]

MOV AH,02H
MOV DL,BL
INT 21H

MOV AH,09H
LEA DX,NEWLINE
INT 21H

CMP BYTE PTR[DI],"$"
JNE K7

MOV AH,09H
LEA DX,NEWLINE
INT 21H

MOV AH,09H
LEA DX,MSG1
INT 21H

JMP K5

KK2:
MOV AH,09H
LEA DX,NEWLINE
INT 21H

MOV AH,09H
LEA DX,MSG2
INT 21H

K5:

MOV AH,4CH
INT 21H


CODE ENDS
END START

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote