CIT 593代做、代寫Java/c++語言編程
時間:2024-07-24 來源: 作者: 我要糾錯
CIT 593 – Module 11 Assignment Instructions
CIT 593 – Module 11 Assignment
Making the LC4 Assembler Instructions
Contents
Assignment Overview 3
Learning Objectives 3
Advice 3
Getting Started 4
Codio Setup 4
Starter Code 4
Object File Format Refresher 4
Requirements 5
General Requirements 5
Assembler 5
assembler.c: main 5
asm_parser.c: read_asm_file 6
asm_parser.c: parse_instruction 6
asm_parser.c: parse_add 6
asm_parser.c: parse_xxx 6
asm_parser.c: str_to_bin 7
asm_parser.c: write_obj_file 7
Extra Credit 8
Suggested Approach 8
High Level Overview 8
Great High Level Overview, but I really need a Slightly More Detailed Overview 10
Part 0: Setup the main Function to Read the Arguments 10
Part 1: Read the .asm File 10
Part 2: Parse an Instruction 1
Part 3: Parse an ADD Instruction 1
Part 4: Converting the binary string to an hexadecimal formatted integer 1
Part 5: Writing the .obj object file 1
Testing 1
Validate Output with PennSim 1
Files for Testing 1
Unit Testing 1
GDB for Debugging 1
Submission 1
Submission Checks 1
The Actual Submission 1
Page 1 of 24CIT 593 – Module 11 Assignment Instructions
Grading 1
Assembler 1
Extra Credit 1
An Important Note of Plagiarism 1
FAQ 1
Quick Hints 1
Formatting 1
Endianness 1
Resources 1
Page 2 of 24CIT 593 – Module 11 Assignment Instructions
Assignment Overview
From lecture you’ve learned that C is file-oriented and that working with files represents I/O
devices in C.
C files fall into two categories: "text" and "binary". In this assignment you’ll work with both types
by reading in a text file and writing out a binary file.
You will read an arbitrary .asm file (a text file intended to be read by PennSim) and write a .obj
file (the same type of binary file that PennSim would write out).
Aside from reading and writing out the files, your task will be to make a mini-LC4- Assembler!
An assembler is a program that reads in assembly language and generates its machine
equivalent.
This assignment will require a bit more programming rigor than we’ve had thus far, but now that
you’ve gained a good amount of programming skill in this class and in others, it is the perfect
time to tackle a large programming assignment (which is why the instructions are so many
pages).
Learning Objectives
This assignment will cover the following topics:
● Review the LC4 Object File Format
● Read text files and process binary files
● Assemble LC4 programs into executable object files
● Use debugging tools such as GDB
Advice
● Start early
● Ask for help early
● Do not try to do it all in one day
Page 3 of 24CIT 593 – Module 11 Assignment Instructions
Getting Started
Codio Setup
Open the Codio assignment via Canvas. This is necessary to link the two systems.
You will see many directories and files. At the top-level workspace directory, the mail files are
asm_parser.h, asm_parser.c, assembler.c, and PennSim.jar.
Do not modify any of the directories or any file in any of the directories.
Starter Code
We have provided a basic framework and several function definitions that you must implement.
assembler.c - must contain your main function.
asm_parser.c - must contain your asm_parser functions.
asm_parser.h - must contain the definition for ROWS and COLS
- must contain function declarations for read_asm_file,
parse_instruction, parse_reg, parse_add, parse_mul,
str_to_bin, write_obj_file, and any helper function you
implement in asm_parser.c
test1.asm - example assembly file
PennSim.jar - a copy of PennSim to check your assembler
Object File Format Refresher
The following is the format for the binary .obj files created by PennSim from your .asm files. It
represents the contents of memory (both program and data) for your assembled LC-4 Assembly
programs. In a .obj file, there are 3 basic sections indicated by 3 header “types” = Code , Data,
and Symbol:
● Code: 3-word header (xCADE, <address>, <n>), n-word body comprising the instructions.
○ This corresponds to the .CODE directive in assembly.
● Data: 3-word header (xDADA, <address>, <n>), n-word body comprising the initial data
values.
○ This corresponds to the .DATA directive in assembly.
● Symbol: 3-word header (xC3B7, <address>, <n>), n-character body comprising the
symbol string. These are generated when you create labels (such as “END”) in
assembly. Each symbol is its own section.
○ Each character in the file is 1 byte, not 2 bytes.
○ There is no NULL terminator.
Page 4 of 24CIT 593 – Module 11 Assignment Instructions
Requirements
General Requirements
● You MUST NOT change the filenames of any file provided to you in the starter code.
● You MUST NOT change the function declarations of any function provided to you in the
starter code.
● You MAY create additional helper functions. If you do, you MUST correctly declare the
functions in the appropriate header file and provide an implementation in the appropriate
source file.
● Your program MUST compile when running the command make.
● You MUST NOT have any compile-time errors or warnings.
● You MUST remove or comment out all debugging print statements before submitting.
● You MUST NOT use externs or global variables.
● You MAY use string.h, stdlib.h, and stdio.h.
● You SHOULD comment your code since this is a programming best practice.
● Your program MUST be able to handle .asm files that PennSim would successfully
assemble. We will not be testing with invalid .asm files.
● Your program MUST NOT crash/segmentation fault.
● You MUST provide a makefile with the following targets:
○ assembler
○ asm_parser.o
○ all, clean, clobber
Assembler
assembler.c: main
● You MUST not change the first four instructions already provided.
● The main function:
○ MUST read the arguments provided to the program.
■ the user will use your program like this:
./assembler test1.asm
○ MUST store the first argument into filename.
○ MUST print an error1 message if the user has not provided an input filename.
○ MUST call read_asm_file to populate program[][].
○ MUST parse each instruction in program[][] and store the binary string equivalent
into program_bin_str[][].
○ MUST convert each binary string into an integer (which MUST have the correct
value when formatted with "0x%X") and store the value into program_bin[].
○ MUST write out the program into a .obj object file which MUST be loadable by
PennSim's ld command.
Page 5 of 24CIT 593 – Module 11 Assignment Instructions
asm_parser.c: read_asm_file
This function reads the user file.
● It SHOULD return an error2 message if there is any error opening or reading the file.
● It MAY try to check if the input program is too large for the defined variables, but we will
not be testing outside the provided limits.
● It MUST read the exact contents of the file into memory, and it MUST remove any
newline characters present in the file.
● It MUST work for files that have an empty line at the end and also for files that end on an
instruction (i.e. do not assume there will always be an empty line at the end of the file).
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 2 on failure).
asm_parser.c: parse_instruction
This function parses a single instruction and determines the binary string equivalent.
● It SHOULD use strtok to tokenize the instruction, using spaces and commas as the
delimiters.
● It MUST determine the instruction function and call the appropriate parse_xxx helper
function.
● It MUST parse ADD, MUL, SUB, DIV, AND, OR, XOR instructions.
○ It MUST parse ADD IMM and AND IMM if attempting that extra credit.
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 3 on failure).
asm_parser.c: parse_add
This function parses an ADD instruction and provides the binary string equivalent.
● It MUST correctly update the opcode, sub-opcode, and register fields following the LC4
ISA.
● It SHOULD call a helper function parse_reg, but we will not be testing this function.
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 4 on failure).
asm_parser.c: parse_xxx
You MUST create a helper function similar to parse_add for the other instruction functions
required in parse_instruction.
● They MUST correctly update the opcode, sub-opcode, and register fields following the
LC4 ISA.
● They SHOULD call a helper function parse_reg, but we will not be testing this function.
● They MUST return 0 on success, and they MUST return a non-zero number in the case
of failure (it SHOULD print a useful error message and return a unique error number on
failure).
Page 6 of 24CIT 593 – Module 11 Assignment Instructions
asm_parser.c: str_to_bin
This function converts a C string containing 1s and 0s into an unsigned short integer
● It MUST correctly convert the binary string to an unsigned short int which can be verified
using the "0x%X" format.
● It SHOULD use strtol to do the conversion.
asm_parser.c: write_obj_file
This function writes the program, in integer format, as a LC4 object file using the LC4 binary
format.
● It MUST output the program in the LC4 binary format described in lecture and in the
Object File Format Refresher section.
● It MUST create and write an empty file if the input file is empty
● It MUST change the extension of the input file to .obj.
● It MUST use the default starting address 0x0000 unless you are attempting the .ADDR
extra credit.
● It MUST close the file with fclose.
● It MUST return 0 on success, and they MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 7 on failure).
● The generated file MUST load into PennSim (and you MUST check this before
submitting), and the contents MUST match the .asm assembly program
Page 7 of 24CIT 593 – Module 11 Assignment Instructions
Extra Credit
You may attempt any, all, or none of these extra credit options. You MUST test using your own
generated examples (we will not provide any).
Option 1: modify your read_asm_file function to ignore comments in .asm files. You MUST
handle all types of comments for credit.
Option 2: modify your program to handle ADD IMM and AND IMM instructions. Both MUST work
completely for credit.
Option 3: modify your program to handle the .CODE and .ADDR directives.
Option 4: modify your program to handle the .DATA, .ADDR, and .FILL directives.
Suggested Approach
This is a suggested approach. You are not required to follow this approach as long as you
follow all of the other requirements.
High Level Overview
Follow these high-level steps and debug thoroughly before moving on to the next.
1. Initialize all arrays to zero or '爱情鸟第一论坛com高清免费_91免费精品国自产拍在线可以看_亚洲一区精品中文字幕_男人操心女人的视频
国产欧美 在线欧美|
久久精品国产99精品国产亚洲性色|
欧美韩日一区二区三区|
欧美va亚洲va国产综合|
日韩午夜在线观看视频|
一本色道久久|
亚洲激精日韩激精欧美精品|
男男成人高潮片免费网站|
欧美成人午夜视频|
亚洲电影中文字幕|
国产嫩草一区二区三区在线观看|
激情六月综合|
欧美制服丝袜第一页|
亚洲人永久免费|
欧美v日韩v国产v|
国产精品久久9|
米奇777超碰欧美日韩亚洲|
91久久久国产精品|
欧美天天视频|
亚洲专区在线|
国内精品视频在线观看|
欧美精品一区二区三区视频|
亚洲午夜精品久久|
在线观看久久av|
亚洲国产精品va在看黑人|
欧美国产在线视频|
欧美日韩国产小视频在线观看|
欧美国产精品人人做人人爱|
国产日韩欧美综合一区|
国产欧美日韩在线观看|
在线日韩av|
国产精品一区二区三区四区|
久久婷婷一区|
国产三级欧美三级|
国产欧美日本一区二区三区|
久久久久网站|
国产一区二区三区免费不卡|
亚洲日本欧美在线|
欧美日韩精品免费观看视一区二区|
亚洲男人的天堂在线|
亚洲免费高清视频|
欧美日韩18|
欧美另类69精品久久久久9999|
久久国产夜色精品鲁鲁99|
国产精品私房写真福利视频|
欧美三区在线视频|
欧美激情国产日韩精品一区18|
久久超碰97人人做人人爱|
9久草视频在线视频精品|
欧美激情久久久|
亚洲国产va精品久久久不卡综合|
亚洲欧洲日本一区二区三区|
欧美日韩精品免费看|
欧美国产日韩精品免费观看|
欧美日本韩国一区|
91久久精品网|
国产亚洲va综合人人澡精品|
国模吧视频一区|
中文一区在线|
国产精品国产三级国产aⅴ浪潮|
国产伦精品一区二区三区高清版|
榴莲视频成人在线观看|
欧美自拍偷拍午夜视频|
免费观看欧美在线视频的网站|
夜夜精品视频一区二区|
欧美一区二区三区在线看|
欧美日韩在线视频一区|
国产亚洲人成网站在线观看|
国产一区二区三区精品欧美日韩一区二区三区|
国产欧美精品一区二区三区介绍|
国产精品视频在线观看|
黑丝一区二区三区|
免费国产自线拍一欧美视频|
国产精品免费网站在线观看|
欧美激情视频一区二区三区不卡|
国产精品视频你懂的|
亚洲精品麻豆|
麻豆91精品91久久久的内涵|
亚洲国产成人一区|
欧美色网一区二区|
欧美性视频网站|
在线欧美日韩精品|
亚洲人成在线播放|
一本一本久久a久久精品综合麻豆|
久久aⅴ国产欧美74aaa|
欧美天堂在线观看|
亚洲最新视频在线播放|
久久先锋影音|
欧美黄色大片网站|
香蕉亚洲视频|
久久蜜桃香蕉精品一区二区三区|
99这里只有精品|
99综合视频|
一区二区三区日韩精品|
99re在线精品|
国产精品每日更新在线播放网址|
欧美日产在线观看|
欧美午夜性色大片在线观看|
老妇喷水一区二区三区|
乱码第一页成人|
久久天天躁狠狠躁夜夜av|
伊人久久久大香线蕉综合直播|
亚洲精品综合久久中文字幕|
久久午夜精品一区二区|
久久亚洲精品一区二区|
欧美在线视频a|
亚洲欧美美女|
国产精品综合网站|
国产精品久久久久毛片软件|
|
亚洲精品国产品国语在线app|
国产精品爽黄69|
久久偷看各类wc女厕嘘嘘偷窃|
在线成人av.com|
最新亚洲电影|
亚洲伦理中文字幕|
在线一区免费观看|
狼人天天伊人久久|
亚洲在线中文字幕|
亚洲视频导航|
欧美在线高清|
国产精品一区二区久激情瑜伽|
亚洲国产精品成人一区二区|
国产日韩亚洲欧美|
久久在线免费观看|
国产日韩精品一区二区浪潮av|
国产日产精品一区二区三区四区的观看方式|
欧美日韩综合视频|
欧美日韩在线第一页|
亚洲乱码国产乱码精品精天堂|
欧美成人乱码一区二区三区|
国内精品伊人久久久久av影院|
亚洲视频碰碰|
黄色日韩精品|
国产喷白浆一区二区三区|
亚洲电影下载|
国产精品久久久久久久久久久久久|
亚洲国产天堂久久综合|
欧美黄色精品|
亚洲中字黄色|
久久一区二区三区av|
欧美成人首页|
欧美1区视频|
欧美第一黄色网|
国产情侣久久|
久久av在线|
在线观看日产精品|
妖精成人www高清在线观看|
欧美日韩国产在线看|
亚洲日本va午夜在线影院|
欧美另类人妖|
精品va天堂亚洲国产|
国产午夜精品全部视频在线播放|
国产精品啊v在线|
亚洲精品一区二区三区樱花|
亚洲一区二区伦理|
欧美国产激情二区三区|
欧美国产精品v|
国产精品黄页免费高清在线观看|
国产精品夜色7777狼人|
国产日韩欧美综合|
亚洲电影欧美电影有声小说|
久久国产精品久久久久久久久久|
欧美午夜不卡影院在线观看完整版免费|
久久亚洲精品一区二区|
欧美日韩不卡在线|
亚洲国产成人不卡|
国产精自产拍久久久久久蜜|
亚洲一区制服诱惑|
亚洲综合色自拍一区|
久久综合一区二区三区|
亚洲视频免费观看|
亚洲黄一区二区三区|
国模一区二区三区|
夜夜嗨av一区二区三区|
欧美日韩国产综合在线|
亚洲二区在线视频|
欧美日韩综合在线|
日韩写真在线|
一区二区三区产品免费精品久久75|
久久精品亚洲精品国产欧美kt∨|
欧美亚洲免费高清在线观看|
国产精品久久久久永久免费观看|
最新亚洲一区|
亚洲视频图片小说|
亚洲美女黄网|
欧美午夜激情视频|
99精品福利视频|
欧美国产日韩在线观看|
国产一二三精品|
国产精品女主播在线观看|
亚洲福利av|
欧美福利影院|
午夜精品在线看|
亚洲人成人一区二区在线观看|
欧美婷婷六月丁香综合色|
国产精品国产精品国产专区不蜜|
欧美视频第二页|
亚洲欧美日韩区|
亚洲国产精品va在看黑人|
CIT 593 – Module 11 Assignment
Making the LC4 Assembler Instructions
Contents
Assignment Overview 3
Learning Objectives 3
Advice 3
Getting Started 4
Codio Setup 4
Starter Code 4
Object File Format Refresher 4
Requirements 5
General Requirements 5
Assembler 5
assembler.c: main 5
asm_parser.c: read_asm_file 6
asm_parser.c: parse_instruction 6
asm_parser.c: parse_add 6
asm_parser.c: parse_xxx 6
asm_parser.c: str_to_bin 7
asm_parser.c: write_obj_file 7
Extra Credit 8
Suggested Approach 8
High Level Overview 8
Great High Level Overview, but I really need a Slightly More Detailed Overview 10
Part 0: Setup the main Function to Read the Arguments 10
Part 1: Read the .asm File 10
Part 2: Parse an Instruction 1
Part 3: Parse an ADD Instruction 1
Part 4: Converting the binary string to an hexadecimal formatted integer 1
Part 5: Writing the .obj object file 1
Testing 1
Validate Output with PennSim 1
Files for Testing 1
Unit Testing 1
GDB for Debugging 1
Submission 1
Submission Checks 1
The Actual Submission 1
Page 1 of 24CIT 593 – Module 11 Assignment Instructions
Grading 1
Assembler 1
Extra Credit 1
An Important Note of Plagiarism 1
FAQ 1
Quick Hints 1
Formatting 1
Endianness 1
Resources 1
Page 2 of 24CIT 593 – Module 11 Assignment Instructions
Assignment Overview
From lecture you’ve learned that C is file-oriented and that working with files represents I/O
devices in C.
C files fall into two categories: "text" and "binary". In this assignment you’ll work with both types
by reading in a text file and writing out a binary file.
You will read an arbitrary .asm file (a text file intended to be read by PennSim) and write a .obj
file (the same type of binary file that PennSim would write out).
Aside from reading and writing out the files, your task will be to make a mini-LC4- Assembler!
An assembler is a program that reads in assembly language and generates its machine
equivalent.
This assignment will require a bit more programming rigor than we’ve had thus far, but now that
you’ve gained a good amount of programming skill in this class and in others, it is the perfect
time to tackle a large programming assignment (which is why the instructions are so many
pages).
Learning Objectives
This assignment will cover the following topics:
● Review the LC4 Object File Format
● Read text files and process binary files
● Assemble LC4 programs into executable object files
● Use debugging tools such as GDB
Advice
● Start early
● Ask for help early
● Do not try to do it all in one day
Page 3 of 24CIT 593 – Module 11 Assignment Instructions
Getting Started
Codio Setup
Open the Codio assignment via Canvas. This is necessary to link the two systems.
You will see many directories and files. At the top-level workspace directory, the mail files are
asm_parser.h, asm_parser.c, assembler.c, and PennSim.jar.
Do not modify any of the directories or any file in any of the directories.
Starter Code
We have provided a basic framework and several function definitions that you must implement.
assembler.c - must contain your main function.
asm_parser.c - must contain your asm_parser functions.
asm_parser.h - must contain the definition for ROWS and COLS
- must contain function declarations for read_asm_file,
parse_instruction, parse_reg, parse_add, parse_mul,
str_to_bin, write_obj_file, and any helper function you
implement in asm_parser.c
test1.asm - example assembly file
PennSim.jar - a copy of PennSim to check your assembler
Object File Format Refresher
The following is the format for the binary .obj files created by PennSim from your .asm files. It
represents the contents of memory (both program and data) for your assembled LC-4 Assembly
programs. In a .obj file, there are 3 basic sections indicated by 3 header “types” = Code , Data,
and Symbol:
● Code: 3-word header (xCADE, <address>, <n>), n-word body comprising the instructions.
○ This corresponds to the .CODE directive in assembly.
● Data: 3-word header (xDADA, <address>, <n>), n-word body comprising the initial data
values.
○ This corresponds to the .DATA directive in assembly.
● Symbol: 3-word header (xC3B7, <address>, <n>), n-character body comprising the
symbol string. These are generated when you create labels (such as “END”) in
assembly. Each symbol is its own section.
○ Each character in the file is 1 byte, not 2 bytes.
○ There is no NULL terminator.
Page 4 of 24CIT 593 – Module 11 Assignment Instructions
Requirements
General Requirements
● You MUST NOT change the filenames of any file provided to you in the starter code.
● You MUST NOT change the function declarations of any function provided to you in the
starter code.
● You MAY create additional helper functions. If you do, you MUST correctly declare the
functions in the appropriate header file and provide an implementation in the appropriate
source file.
● Your program MUST compile when running the command make.
● You MUST NOT have any compile-time errors or warnings.
● You MUST remove or comment out all debugging print statements before submitting.
● You MUST NOT use externs or global variables.
● You MAY use string.h, stdlib.h, and stdio.h.
● You SHOULD comment your code since this is a programming best practice.
● Your program MUST be able to handle .asm files that PennSim would successfully
assemble. We will not be testing with invalid .asm files.
● Your program MUST NOT crash/segmentation fault.
● You MUST provide a makefile with the following targets:
○ assembler
○ asm_parser.o
○ all, clean, clobber
Assembler
assembler.c: main
● You MUST not change the first four instructions already provided.
● The main function:
○ MUST read the arguments provided to the program.
■ the user will use your program like this:
./assembler test1.asm
○ MUST store the first argument into filename.
○ MUST print an error1 message if the user has not provided an input filename.
○ MUST call read_asm_file to populate program[][].
○ MUST parse each instruction in program[][] and store the binary string equivalent
into program_bin_str[][].
○ MUST convert each binary string into an integer (which MUST have the correct
value when formatted with "0x%X") and store the value into program_bin[].
○ MUST write out the program into a .obj object file which MUST be loadable by
PennSim's ld command.
Page 5 of 24CIT 593 – Module 11 Assignment Instructions
asm_parser.c: read_asm_file
This function reads the user file.
● It SHOULD return an error2 message if there is any error opening or reading the file.
● It MAY try to check if the input program is too large for the defined variables, but we will
not be testing outside the provided limits.
● It MUST read the exact contents of the file into memory, and it MUST remove any
newline characters present in the file.
● It MUST work for files that have an empty line at the end and also for files that end on an
instruction (i.e. do not assume there will always be an empty line at the end of the file).
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 2 on failure).
asm_parser.c: parse_instruction
This function parses a single instruction and determines the binary string equivalent.
● It SHOULD use strtok to tokenize the instruction, using spaces and commas as the
delimiters.
● It MUST determine the instruction function and call the appropriate parse_xxx helper
function.
● It MUST parse ADD, MUL, SUB, DIV, AND, OR, XOR instructions.
○ It MUST parse ADD IMM and AND IMM if attempting that extra credit.
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 3 on failure).
asm_parser.c: parse_add
This function parses an ADD instruction and provides the binary string equivalent.
● It MUST correctly update the opcode, sub-opcode, and register fields following the LC4
ISA.
● It SHOULD call a helper function parse_reg, but we will not be testing this function.
● It MUST return 0 on success, and it MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 4 on failure).
asm_parser.c: parse_xxx
You MUST create a helper function similar to parse_add for the other instruction functions
required in parse_instruction.
● They MUST correctly update the opcode, sub-opcode, and register fields following the
LC4 ISA.
● They SHOULD call a helper function parse_reg, but we will not be testing this function.
● They MUST return 0 on success, and they MUST return a non-zero number in the case
of failure (it SHOULD print a useful error message and return a unique error number on
failure).
Page 6 of 24CIT 593 – Module 11 Assignment Instructions
asm_parser.c: str_to_bin
This function converts a C string containing 1s and 0s into an unsigned short integer
● It MUST correctly convert the binary string to an unsigned short int which can be verified
using the "0x%X" format.
● It SHOULD use strtol to do the conversion.
asm_parser.c: write_obj_file
This function writes the program, in integer format, as a LC4 object file using the LC4 binary
format.
● It MUST output the program in the LC4 binary format described in lecture and in the
Object File Format Refresher section.
● It MUST create and write an empty file if the input file is empty
● It MUST change the extension of the input file to .obj.
● It MUST use the default starting address 0x0000 unless you are attempting the .ADDR
extra credit.
● It MUST close the file with fclose.
● It MUST return 0 on success, and they MUST return a non-zero number in the case of
failure (it SHOULD print a useful error message and return 7 on failure).
● The generated file MUST load into PennSim (and you MUST check this before
submitting), and the contents MUST match the .asm assembly program
Page 7 of 24CIT 593 – Module 11 Assignment Instructions
Extra Credit
You may attempt any, all, or none of these extra credit options. You MUST test using your own
generated examples (we will not provide any).
Option 1: modify your read_asm_file function to ignore comments in .asm files. You MUST
handle all types of comments for credit.
Option 2: modify your program to handle ADD IMM and AND IMM instructions. Both MUST work
completely for credit.
Option 3: modify your program to handle the .CODE and .ADDR directives.
Option 4: modify your program to handle the .DATA, .ADDR, and .FILL directives.
Suggested Approach
This is a suggested approach. You are not required to follow this approach as long as you
follow all of the other requirements.
High Level Overview
Follow these high-level steps and debug thoroughly before moving on to the next.
1. Initialize all arrays to zero or '爱情鸟第一论坛com高清免费_91免费精品国自产拍在线可以看_亚洲一区精品中文字幕_男人操心女人的视频





