Posts

Project Stages 1

Image
Fall 2022 SPO600 Project - Stage 1  Tim Lin Stage 1 Language          I will create my project in Visual Studio 2022 using the C language. Overall operation The overall operation of my project: Get keyboard input Run parameters successfully Change file parameters No nasty bugs Adjust files or parameters at any time Solution I will add the ifunc function to the code. My solution The project was successfully built three times The program can automatically vectorize versions Successfully obtained output Inputs can be changed and different outputs can be produced at any time Challenges     1.  I hadn't used the ifunc function before and needed to research and test it.      2. On the Arm system, I may have to spend a lot of time googling the bugs I encountered.     3.  Fedora 35 system I need to spend time studying.      4. I am not familiar with SIMD, SVE or SVE2 commands either, and I need to spend time practicing them. In general, this project is very difficult for me, but I will fin

6502 Math and Strings Lab

Image
 Lab 3 Tim Lin In this LAB, I learn how to write a simple assembler. Since assembly language is complex, I need to refer to the sample code. Example: Etch-a-Sketchtm Style Drawing .  The function of this code is that clicking the C key will display a pixel dot in the middle of the screen. I modified it so that only the four uppercase letters H,E,L,O can be clicked to display the pixel dots. In the process, I struggled to find out the meaning of various characters. For example, the letter O is 4F in computer characters, in the form of a number + letter. ; zero-page variable locations define ROW $20 ; current row define COL $21 ; current column define POINTER $10 ; ptr: start of row define POINTER_H $11 ; constants define DOT $01 ; dot colour define CURSOR $e ; blue colour ldy #$00 ; put help text on screen print: lda help,y beq setup sta $f000,y iny bne print setup: lda #$0f ; set initial ROW,COL sta ROW sta COL dra

6502 Assembly Language Lab

Image
Lab 2 Tim Lin 2. This week the professor let us practice using the 6502 simulators. Run the following code.  lda #$00 ; set a pointer in memory location $40 to point to $0200 sta $40 ; ... low byte ($00) goes in address $40 lda #$02 sta $41 ; ... high byte ($02) goes into address $41 lda #$07 ; colour number ldy #$00 ; set index to 0 loop: sta ($40),y ; set pixel colour at the address (pointer)+Y iny ; increment index bne loop ; continue until done the page (256 pixels) inc $41 ; increment the page ldx $41 ; get the current page number cpx #$06 ; compare with 6 bne loop ; continue until done all pages 4.  Calculate how long it takes for the code to execute . 6.  Change the code to fill the display with light blue instead of yellow. lda #$07 change to  lda #$e lda #$00 ; sta $40 ;  lda #$02 sta $41 ;  lda #$e ;  ldy #$00 ;  loop: sta ($40),y ;  iny ;  bne loop ;  inc $41 ;  ldx $41 ;  cpx #$06 ;  bne loop ; 

SPO600 Code Review Lab

Lab 1 Tim Lin This week's blog is about comparing two open-source software packages. In this lab, I choose MongoDB and PHP . 1. MongoDB is written in C++ and is an open-source database system based on distributed file storage.  MongoDB uses the GNU AGPL v3.0 license. It is done by uploading Git to replace the original code or to fix bugs. So the MongoDB repository( https://github.com/mongodb/mongo ) is also using GitHub. As it is open source. So MongoDB also welcomes community members to use its bug issue system( https://jira.mongodb.org/plugins/servlet/samlsso?redirectTo=%2F ) to fix bugs. MongoDB currently has 627 contributors. Most of these patches are made by users who raise questions through the bug feedback system. The contributors then release the initial patches, and if they have problems, they discuss better patches with each other. I have observed that their discussion history is usually resolved within a day, which is very efficient. In the absence of bugs contributor

HI SPO600

My name is Tim Lin. Nice to meet you.