Под тегом ‘assembly

7, Июнь 2009

(Задание 02 курса Assembly Language)

Write a stand-alone assembly language program that emulates in a very crude way a receiver for a data packet which is being transmitted in serial form across a transmission line. The packet contains a bit string which can be parsed and decoded. Your program reads a stream of “bits” in the transmission simulated by a stream of ASCII character ‘0’s and ‘1’s which you must read with the GetCh Macro or using INT 21H. The most significant bits come first so that for example the first 8 bits is 00000010 for the STX character, as indicated below The bits should first be reconstituted into bytes and treated according to the “COMP 2003 transmission protocol” (CTP ) defined as follows.

6, Июнь 2009

(Задание 02 курса Assembly Language)

The objective of this assignment is to write a C and assembly mixed-mode program which accepts a simulated bit pattern, which represent ASCII characters which are HEX digits. Thus the bit pattern 0011100101000001 would represent the ASCII codes for the HEX digits 9A. You are to discard invalid HEX digits. The assignment is to be done as outlined below. The C main function inputs a relatively small integer “n”. The variable “n” is the number of characters to be read and should be small. It then passes by value the parameter “n” , and a pointer to an array “string” to an assembly language procedure. Upon the return from the procedure the main C function outputs the string in the array “string”.

6, Июнь 2009

(Задание 01 курса Assembly Language)

Part I. An Exploration. Not to be handed in.

a) Write a short program that consists of variations of the mov instruction using the different modes

For example:

label1: mov AX,BX
label2: mov BX,AX
label3: mov AX, 5
label4: mov AX,127
label5: mov AX, item
label6: mov item,AX


6, Июнь 2009

(Задание 00 курса Assembly Language)
A warmup assignment

Write a C program that dynamically allocates an array of two bytes. The memory should not be initialized at first. The output should be:

1) The number of ‘ones’ in the memory allocated and the number of ‘zeros’ in the memory allocated.
2) The Hamming distance between the two bytes (the number of corresponding bits in the bytes that are are different.)
3) The bit pattern in each byte. (forwards and backwards.)
4) The value of each byte taken as an unsigned integer.
5) The hex value of the first byte as a bit pattern. (e.g. if the byte is 01111110 then the hex value is 7E)