2/22/20161 assembly language (continue). 2/22/20162 assembly language format...

Download 2/22/20161 Assembly Language (continue). 2/22/20162 Assembly Language Format LabelOpcodeOperandComment Start:LXISP,3FF0H;Initialize stack pointer DelimiterPlacement

If you can't read please download the document

Upload: annice-turner

Post on 18-Jan-2018

221 views

Category:

Documents


0 download

DESCRIPTION

2/22/20163 Assembler Directive Assembler ExampleDescription Directive ORG (Origin)ORG 2000HThe next block of instructions should store in memory starting at 2000H ENDENDEnd of assembly EQUPORTA: EQU 80HThe value of term PORTA is equal to 80H DFB (define byte)DATA: DFB 10H,30HInitializes an area byte by byte DFW (define Word)DATA: DFW 2020HInitializes an area two byte at time DFS (define Storage)DATA: DFS 10Reserves a specified number of memory

TRANSCRIPT

2/22/20161 Assembly Language (continue) 2/22/20162 Assembly Language Format LabelOpcodeOperandComment Start:LXISP,3FF0H;Initialize stack pointer DelimiterPlacement ColonAfter label SpaceBetween an opcode and an operan CommaBetween two operand SemicolonBefore beginning of a comment 2/22/20163 Assembler Directive Assembler ExampleDescription Directive ORG (Origin)ORG 2000HThe next block of instructions should store in memory starting at 2000H ENDENDEnd of assembly EQUPORTA: EQU 80HThe value of term PORTA is equal to 80H DFB (define byte)DATA: DFB 10H,30HInitializes an area byte by byte DFW (define Word)DATA: DFW 2020HInitializes an area two byte at time DFS (define Storage)DATA: DFS 10Reserves a specified number of memory 2/22/20164 Flowchart : Program Assembly & Execution Write /Edit Source Program Assemble Source File Errors? Generate Hex / List File Download Hex File into Target System & Execute Program Expected Result? Troubleshot/Debug Go Back to Edit Errors Start End Yes No Yes No 2/22/20165 Example (Sample Source Code) CPU 8085.TBL ORG 2000H NUM1:EQU55H NUM2:EQU78H LXI SP, 3FF0H;Initialize Stack pointer MVI A, NUM1;load first number MOV B,A;save it to B register MVI A, NUM2;load second number ADD B;add register A & B STA RESULT;store to 2050H RST 1 ORG 2050H RESULT:DFS1;reserve 1 byte location in END;memory (Note: write your source code using any text editor) 2/22/20166 Manual assembly *Please Refer to 8085 Assembly Code Summary 8085 Assembly Codes FLAGS _ INSTRUCT LOGICAL OP-CODE BYTE T-STATE S Z P CY AC MOV B,A (B) (A) LXI SP, data16 (SP) (byte 3) (SP) (byte 2) 2/22/20167 Manual assembly Address (Hex)Program CodeMachine Code (Hex) 2000LXI SP, 3FF0H31 F0 3F 2003MVI A, NUM13E MOV B,A MVI A, NUM23E ADD B STA RESULT CRST 1CF 2/22/20168 Exercise CPU 8085.TBL ORG 2000H PORTA:EQU80H LXI SP, 3FF0H;Initialize Stack pointer XRA A LOOP:CMA OUT PORTA CALL DELAY JMP LOOP DELAY:MVI B, 255 LOOP1:DCR B JNZ LOOP1 RET END 2/22/20169 Manual assembly Address (Hex)Program CodeMachine Code (Hex) LXI SP, 3FF0H XRA A CMA OUT PORTA CALL DELAY JMP LOOP MVI B, 255 DCR B JNZ LOOP1 RET 2/22/ Assembler The Assembler is a program that translates source code or mnemonics into the binary code (machine code). In addition to translating mnemonics, the Assembler performs various functions, such as error checking and memory allocations. 2/22/ HEX File (Example.HEX) Listing File (Example.LST) Assembler (Translator) Source File (Example.ASM) 2/22/ Example of Listing File CPU "8085.TBL" ORG 2000H = NUM1:EQU55H = NUM2:EQU78H F03F LXI SP, 3FF0H;Initialize Stack pointer E55 MVI A, NUM1;load first number MOV B,A;save it to B register E78 MVI A, NUM2;load second number ADD B;add register A & B STA RESULT;store to 2050H 0200C CF RST ORG 2050H RESULT:DFS1;reserve 1 byte location in END;memory NUM NUM RESULT 2/22/ Example of Hex File : FC :0D F03F3E55473E CFF2 : FF :0D F03F3E55473E CFF2 Byte Count Checksum Data Byte (Program Code) Record Type Address 2/22/ Byte Count The number of data bytes in the record Address Address of the first data byte in the record. Address in End of File record is 0000 Record Type The record type for a data record is 00. The record type for an End of File record is 01 Data Byte Data byte in HEX ASCII. Two character per byte. Checksum Twos complement byte of binary sum of preceding byte in record; Including byte count, address and data byte 2/22/ Testing & Debugging Download Hex File into Target System & Execute Program 8085 Development System is communicated with PC through serial port (RS232) Development Board PC RS232