CIT 593代做、代寫(xiě)Java/c++語(yǔ)言編程
時(shí)間:2024-07-24 來(lái)源: 作者: 我要糾錯(cuò)
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 '免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300 亚洲天堂精品在线观看| 91啪亚洲精品| 欧美日韩免费观看一区三区| 国产精品色在线| 久久精品72免费观看| 在线免费观看视频一区| 国产亚洲精品aa| 蜜臀av国产精品久久久久| 欧美色综合网站| 亚洲麻豆国产自偷在线| av亚洲精华国产精华精| 久久精品欧美一区二区三区不卡| 国产一区二区视频在线| 日韩精品一区二区三区蜜臀| 三级成人在线视频| 欧美日韩国产精品成人| 亚洲国产成人高清精品| 在线精品视频免费观看| 丝袜美腿亚洲一区二区图片| 日韩一区二区不卡| 免费在线看一区| 欧美久久久久久蜜桃| 亚洲va国产天堂va久久en| 色乱码一区二区三区88| 亚洲精品视频一区二区| 91在线观看美女| 香蕉久久一区二区不卡无毒影院| 日韩亚洲电影在线| 成人综合婷婷国产精品久久| 国产农村妇女精品| 成人av电影在线网| 亚洲视频在线观看三级| 欧美日韩国产美| 国产综合久久久久久鬼色| 久久综合99re88久久爱| 国产九色sp调教91| 国产欧美日韩激情| 欧洲日韩一区二区三区| 美女脱光内衣内裤视频久久影院| 国产欧美日韩亚州综合 | 老司机精品视频线观看86| 久久精品一级爱片| 在线一区二区观看| 精品一区二区久久久| 久久久99精品免费观看不卡| 色婷婷亚洲一区二区三区| 亚洲成人激情av| 久久久综合精品| 成人av在线观| 日本v片在线高清不卡在线观看| 国产喂奶挤奶一区二区三区| 欧美日韩亚洲综合| 国产成人精品一区二| 亚洲欧美自拍偷拍| 欧美亚洲禁片免费| 国产精品自产自拍| 亚洲国产成人精品视频| 亚洲国产精品精华液ab| 色综合久久中文字幕综合网| 麻豆91在线看| 亚洲一区二区偷拍精品| 日韩精品中文字幕在线一区| 91碰在线视频| 国产精品一色哟哟哟| 午夜激情综合网| 国产亚洲人成网站| 欧美精品国产精品| 91在线国内视频| 亚洲国产精品久久久久婷婷884| 国产偷国产偷亚洲高清人白洁| 欧美日韩久久久| av成人动漫在线观看| 国精品**一区二区三区在线蜜桃| 亚洲成av人综合在线观看| 国产精品久久久久影院| 欧美日韩中文一区| 不卡av在线免费观看| 久国产精品韩国三级视频| 天天综合色天天| 亚洲美女一区二区三区| 欧美激情在线一区二区| 精品国产凹凸成av人导航| 99re这里只有精品视频首页| 精品亚洲免费视频| 日韩精品三区四区| 亚洲香肠在线观看| 中文字幕日韩一区| 久久久久久久久久久电影| 91精品国产欧美一区二区| 成人激情视频网站| 国产麻豆精品在线| 精品一区二区免费| 蜜臀av性久久久久蜜臀av麻豆| 亚洲成av人影院| 一区二区三区四区在线播放| 久久综合av免费| 日韩精品一区二区三区在线| 91精品视频网| 色一区在线观看| 97久久精品人人澡人人爽| 成人污污视频在线观看| 国产乱码字幕精品高清av| 久久99久久久久久久久久久| 日本午夜精品一区二区三区电影 | 国产精品电影一区二区| 国产三级三级三级精品8ⅰ区| 精品剧情v国产在线观看在线| 91蜜桃网址入口| av不卡在线观看| 99精品桃花视频在线观看| 成人午夜短视频| www.视频一区| eeuss鲁一区二区三区| 成人一级黄色片| 成人激情综合网站| a美女胸又www黄视频久久| 国产91精品一区二区麻豆网站 | 日本精品视频一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 99国产精品99久久久久久| 91香蕉视频在线| 一本一道久久a久久精品| 日本高清不卡一区| 欧美中文字幕一区二区三区亚洲| 欧美优质美女网站| 欧美日韩国产一区| 7777精品伊人久久久大香线蕉的| 884aa四虎影成人精品一区| 欧美一区二区三区在线| 欧美第一区第二区| 2023国产精品自拍| 欧美国产乱子伦| 自拍偷拍亚洲激情| 一区二区三区国产| 天涯成人国产亚洲精品一区av| 日韩va欧美va亚洲va久久| 狠狠色丁香婷综合久久| 成人污污视频在线观看| 色屁屁一区二区| 欧美日韩黄色影视| 精品国产三级电影在线观看| 国产午夜亚洲精品午夜鲁丝片| 中文字幕一区视频| 亚洲午夜一区二区| 免费成人av在线| 高清不卡在线观看| 色视频一区二区| 欧美一卡二卡在线观看| 久久精品一区二区三区不卡| 亚洲色图一区二区三区| 香蕉成人啪国产精品视频综合网| 精一区二区三区| 成人av网站在线观看免费| 欧美视频一区二| 亚洲精品一线二线三线无人区| 国产精品电影院| 五月天精品一区二区三区| 国内成人免费视频| 91麻豆免费看片| 欧美一三区三区四区免费在线看| 久久九九久久九九| 亚洲精品第1页| 男人操女人的视频在线观看欧美| 国产成人欧美日韩在线电影| 在线观看一区二区视频| 日韩精品一区二区三区视频| 国产精品初高中害羞小美女文| 午夜精品在线看| 国产成人精品网址| 欧美日韩在线亚洲一区蜜芽| 精品91自产拍在线观看一区| 亚洲免费在线播放| 久久国产日韩欧美精品| av高清不卡在线| 日韩欧美国产一区二区三区| 中文字幕日本乱码精品影院| 日本一不卡视频| 97国产精品videossex| 日韩限制级电影在线观看| 中文字幕在线不卡视频| 免费成人在线视频观看| 色综合中文综合网| 色综合久久久久综合体| 精品99一区二区三区| 亚洲一二三区视频在线观看| 风间由美中文字幕在线看视频国产欧美| 在线观看免费一区| 日本一区二区三区免费乱视频| 亚洲成人先锋电影| 懂色av噜噜一区二区三区av| 4438x成人网最大色成网站| 最好看的中文字幕久久| 国产又黄又大久久| 在线观看国产91| 日本一二三四高清不卡| 免费观看在线色综合| 欧美午夜片在线看| 国产精品乱码久久久久久| 麻豆成人在线观看| 欧美网站一区二区|
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 '免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300 亚洲天堂精品在线观看| 91啪亚洲精品| 欧美日韩免费观看一区三区| 国产精品色在线| 久久精品72免费观看| 在线免费观看视频一区| 国产亚洲精品aa| 蜜臀av国产精品久久久久| 欧美色综合网站| 亚洲麻豆国产自偷在线| av亚洲精华国产精华精| 久久精品欧美一区二区三区不卡| 国产一区二区视频在线| 日韩精品一区二区三区蜜臀| 三级成人在线视频| 欧美日韩国产精品成人| 亚洲国产成人高清精品| 在线精品视频免费观看| 丝袜美腿亚洲一区二区图片| 日韩一区二区不卡| 免费在线看一区| 欧美久久久久久蜜桃| 亚洲va国产天堂va久久en| 色乱码一区二区三区88| 亚洲精品视频一区二区| 91在线观看美女| 香蕉久久一区二区不卡无毒影院| 日韩亚洲电影在线| 成人综合婷婷国产精品久久| 国产农村妇女精品| 成人av电影在线网| 亚洲视频在线观看三级| 欧美日韩国产美| 国产综合久久久久久鬼色| 久久综合99re88久久爱| 国产九色sp调教91| 国产欧美日韩激情| 欧洲日韩一区二区三区| 美女脱光内衣内裤视频久久影院| 国产欧美日韩亚州综合 | 老司机精品视频线观看86| 久久精品一级爱片| 在线一区二区观看| 精品一区二区久久久| 久久久99精品免费观看不卡| 色婷婷亚洲一区二区三区| 亚洲成人激情av| 久久久综合精品| 成人av在线观| 日本v片在线高清不卡在线观看| 国产喂奶挤奶一区二区三区| 欧美日韩亚洲综合| 国产成人精品一区二| 亚洲欧美自拍偷拍| 欧美亚洲禁片免费| 国产精品自产自拍| 亚洲国产成人精品视频| 亚洲国产精品精华液ab| 色综合久久中文字幕综合网| 麻豆91在线看| 亚洲一区二区偷拍精品| 日韩精品中文字幕在线一区| 91碰在线视频| 国产精品一色哟哟哟| 午夜激情综合网| 国产亚洲人成网站| 欧美精品国产精品| 91在线国内视频| 亚洲国产精品久久久久婷婷884| 国产偷国产偷亚洲高清人白洁| 欧美日韩久久久| av成人动漫在线观看| 国精品**一区二区三区在线蜜桃| 亚洲成av人综合在线观看| 国产精品久久久久影院| 欧美日韩中文一区| 不卡av在线免费观看| 久国产精品韩国三级视频| 天天综合色天天| 亚洲美女一区二区三区| 欧美激情在线一区二区| 精品国产凹凸成av人导航| 99re这里只有精品视频首页| 精品亚洲免费视频| 日韩精品三区四区| 亚洲香肠在线观看| 中文字幕日韩一区| 久久久久久久久久久电影| 91精品国产欧美一区二区| 成人激情视频网站| 国产麻豆精品在线| 精品一区二区免费| 蜜臀av性久久久久蜜臀av麻豆| 亚洲成av人影院| 一区二区三区四区在线播放| 久久综合av免费| 日韩精品一区二区三区在线| 91精品视频网| 色一区在线观看| 97久久精品人人澡人人爽| 成人污污视频在线观看| 国产乱码字幕精品高清av| 久久99久久久久久久久久久| 日本午夜精品一区二区三区电影 | 国产精品电影一区二区| 国产三级三级三级精品8ⅰ区| 精品剧情v国产在线观看在线| 91蜜桃网址入口| av不卡在线观看| 99精品桃花视频在线观看| 成人午夜短视频| www.视频一区| eeuss鲁一区二区三区| 成人一级黄色片| 成人激情综合网站| a美女胸又www黄视频久久| 国产91精品一区二区麻豆网站 | 日本精品视频一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 99国产精品99久久久久久| 91香蕉视频在线| 一本一道久久a久久精品| 日本高清不卡一区| 欧美中文字幕一区二区三区亚洲| 欧美优质美女网站| 欧美日韩国产一区| 7777精品伊人久久久大香线蕉的| 884aa四虎影成人精品一区| 欧美一区二区三区在线| 欧美第一区第二区| 2023国产精品自拍| 欧美国产乱子伦| 自拍偷拍亚洲激情| 一区二区三区国产| 天涯成人国产亚洲精品一区av| 日韩va欧美va亚洲va久久| 狠狠色丁香婷综合久久| 成人污污视频在线观看| 色屁屁一区二区| 欧美日韩黄色影视| 精品国产三级电影在线观看| 国产午夜亚洲精品午夜鲁丝片| 中文字幕一区视频| 亚洲午夜一区二区| 免费成人av在线| 高清不卡在线观看| 色视频一区二区| 欧美一卡二卡在线观看| 久久精品一区二区三区不卡| 亚洲色图一区二区三区| 香蕉成人啪国产精品视频综合网| 精一区二区三区| 成人av网站在线观看免费| 欧美视频一区二| 亚洲精品一线二线三线无人区| 国产精品电影院| 五月天精品一区二区三区| 国内成人免费视频| 91麻豆免费看片| 欧美一三区三区四区免费在线看| 久久九九久久九九| 亚洲精品第1页| 男人操女人的视频在线观看欧美| 国产成人欧美日韩在线电影| 在线观看一区二区视频| 日韩精品一区二区三区视频| 国产精品初高中害羞小美女文| 午夜精品在线看| 国产成人精品网址| 欧美日韩在线亚洲一区蜜芽| 精品91自产拍在线观看一区| 亚洲免费在线播放| 久久国产日韩欧美精品| av高清不卡在线| 日韩欧美国产一区二区三区| 中文字幕日本乱码精品影院| 日本一不卡视频| 97国产精品videossex| 日韩限制级电影在线观看| 中文字幕在线不卡视频| 免费成人在线视频观看| 色综合中文综合网| 色综合久久久久综合体| 精品99一区二区三区| 亚洲一二三区视频在线观看| 风间由美中文字幕在线看视频国产欧美| 在线观看免费一区| 日本一区二区三区免费乱视频| 亚洲成人先锋电影| 懂色av噜噜一区二区三区av| 4438x成人网最大色成网站| 最好看的中文字幕久久| 国产又黄又大久久| 在线观看国产91| 日本一二三四高清不卡| 免费观看在线色综合| 欧美午夜片在线看| 国产精品乱码久久久久久| 麻豆成人在线观看| 欧美网站一区二区|





